C#如何在form1中显示Form2中的变量?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何在form1中显示Form2中的变量?相关的知识,希望对你有一定的参考价值。

1.你可以定义静态变量,例如public
static
form1
currentform1;
当你的form1启动后设置这个静态变量为this。则其他地方可以通过这个静态变量访问到当前form1对象,多个的话就用数组,队列等。
2。其他n多增内聚,降低耦合的方法,比如在form2中保存一个form1的引用,启动时候设置,或是添加一个公共的类保存各自的引用等等方法。
3.通过遍历application.openforms找到类型为form1的对象
参考技术A button1_Click
这个方法里面写

Form2
fm2

=
new
Form2();
fm2.Getnum();
//不是Form2.Getnum;
listBox1.Items.Add(fm2.textBox1.Text);
Form2这样写
public
void
Getnum(
)

int
num
=
0;
if
(num
<
10)
//用if
for
等你自己的方法活动num的值

num++;
//得到num=1

textBox1.Text
=
num.ToString();
//
把num放到一个容器里传值比较容易,我在Form加了个textBbox,
主要如果用控件,把控件的属性Modifiers


Private
改成Public

经过测试可用,你可以根据自己的需求参考代码。
参考技术B C#
子窗体中调用父窗体中的方法(或多窗体之间方法调用)
http://www.csframework.com/archive/2/arc-2-20110805-1771.htm
通过反射技术创建窗体实例然后给控件赋值(C#)
http://www.csframework.com/archive/2/arc-2-20110509-1447.htm
参考技术C 这太简单了吧,不会想事,返回int不就行了
public
int
Getnum()num++;
在Form1定义全局变量int
n;
然后n=form2.Getnum();
不是吗,新手阿

c#如何实现在两个窗体(Form)间传输数据或变量

在父窗体中显示子窗体时,加上子窗体.Owner=this;在子窗体中定义一个父窗体对象,在Load函数里面让父窗体对象=(父窗体类型)this.Owner。然后用这个父窗体对象就可以在子窗体的任何位置直接使用它的参数了(这些参数要定义成公共的).将父窗体对象定义成子窗体的一个变量,不是在Load中定义父窗体对象,只是在Load中获取父窗口,这样在子窗体的任何位置都应该可以使用这个父窗口对象了
如下面代码所示:
(1)在父窗体中 Form2 f2 = new Form2();//新建子窗体对象
                            f2.Owner=this;                //将子窗体对象的所有者设为Form1
(2)在子窗体中private void Form2_Load(object sender, EventArgs e) //注意要在load中调用
           
                  Form1 f1 = (Form1)this.Owner;         //这样调用父窗体
                  textBox4.Text = f1.hight.ToString();
                   

以上是关于C#如何在form1中显示Form2中的变量?的主要内容,如果未能解决你的问题,请参考以下文章

C#中两个form窗体之间如何访问相互属性控件,如下:

C#中2个form如何互传值以及访问方法问题

C#问题...Form2怎么获取Form1的按钮事件!..

请教:C#中,如何在一个窗口中执行另一个窗口的操作?

winform 窗体顺序问题

C#里怎么在一个窗体里调用另一个窗体的控件