C# winform 在一个窗体中如何设置另一个窗体的TextBox的值

有两个窗体,有一个公共静态string,在窗体A 中TextBox有初始值string,然后在窗体B中设置了string后,如何在窗体B关闭的事件中控制窗体A中的TextBox控件,设置改变后的string值。万谢!!!

A 和 B窗体,首先不知道A 和B之间是谁打开谁还是同级,谁也不打开谁。

第一种情况,从A中点击SHOW出B~!那么在SHOW的时候在B的构造函数传入A,并且在B中声明一个全局的A,把B的构造函数传入A赋给这个全局变量,在B中设置string的时候,使用全局变量来设置A的TextBox控件值同,若找不到TextBox,那请将TextBox的可访问属性设为public。

若B打开A也是同理。

第二种情况是A和B都是由父窗体打开的。这种情况,也是在父窗体中声名两个全局的A和B!然后打开A和B的时候,可以把A传给B,把B传给A,然后在A和B里一样的要有一个全局的B和A!

这样就可赋值了。记得判断是否为空。·

庵顶,2000年起由庵上改名,是由以前庵顶山一庵得名,人口未知,主要由高,王,李三姓组成,农民以种葱,姜为主,依山傍水,北由汶河,交通便利,西靠青云湖路,北由滨河路,南有下小路,东靠安丘东外环,物产丰富,人们安居乐业

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-08-31

方法有很多,下拉给你列几个:

    首先介绍最粗暴的方法,修改控件的访问修饰符。(不建议使用此法)

public System.Windows.Forms.TextBox textBox1;

在调用时就能直接访问

Form1 frm = new Form1();
frm.textBox1.Text = "方法1";
frm.Show();

    方法2是通过构造函数/指定公开方法传入,然后为对应控件赋值。

public Form2(string text)
{
    InitializeComponent();

    this.textBox1.Text = text;
}

调用时

Form2 frm = new Form2("方法2");
frm.Show();

    方法3是通过公开属性来设置,此法甚好。

public string Text3
{
    get { return this.textBox1.Text; }
    set { this.textBox1.Text = value; }
}

调用如下

Form3 frm = new Form3();
frm.Text3 = "方法3";
frm.Show();

等等,还有一些其他方法,这不一一介绍了。

第2个回答  推荐于2017-11-24
A 和 B窗体,首先不知道A 和B之间是谁打开谁还是同级,谁也不打开谁。
第一种情况,从A中点击SHOW出B~!那么在SHOW的时候在B的构造函数传入A,并且在B中声明一个全局的A,把B的构造函数传入A赋给这个全局变量,在B中设置string的时候,使用全局变量来设置A的TextBox控件值同,若找不到TextBox,那请将TextBox的可访问属性设为public。
若B打开A也是同理。
第二种情况是A和B都是由父窗体打开的。这种情况,也是在父窗体中声名两个全局的A和B!然后打开A和B的时候,可以把A传给B,把B传给A,然后在A和B里一样的要有一个全局的B和A!
这样就可赋值了。记得判断是否为空。·本回答被提问者采纳
第3个回答  2011-10-23
在A窗体写一个方法,是赋值给textBox值,然后在B事件中,A frm = new A(); A.刚才写的方法();
相似回答