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

2024-11-23 08:16:49
推荐回答(4个)
回答1:

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

回答2:

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

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

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();

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

回答3:

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!
这样就可赋值了。记得判断是否为空。·

回答4:

在A窗体写一个方法,是赋值给textBox值,然后在B事件中,A frm = new A(); A.刚才写的方法();