关于c#中子窗口调用父窗口中控件内容的问题

2024-12-02 19:36:42
推荐回答(4个)
回答1:

首先你在Form2里面创建一个公开Form1的对象,然后在Form2里面写一个窗体加载事件,下面是代码:
public Form1 form1;//这是创建的对象
private void Form2_Load(object sender, EventArgs e)//窗体加载事件
{
txt_Two.Text = form1.txt_One.Text;//这里是把窗体Form1的textBox1的值给Form2的textBox1
}
Form2的设置搞定,
然后把Form1的textBox1公开一下,在属性里面设置,属性叫Modifiers-->设置为public, 然后有一个按钮打开Form2,事件为:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.form1 = this;//这里就是把当前窗口的所有东西传递过去。 楼下的兄弟说的窗口间数据传递。就是这里拉。
form2.Show();
}

回答2:

这种做法一般是通过属性来实现的,将窗体对象引用传递给查找窗口,然后操作之

回答3:

构造函数吧。子窗口设置全局变量将父窗口传入的值赋给它。也可以直接父窗口的控件modifiers属性设为public直接调用的。(前提传过去的是父窗口对象)

回答4:

有个简单的方法:(1)先把你要Modifiers的值设置为public;(2)再在子窗体中声明public static Form1 form1 = null;(父窗体为Form1),这样就可以通过Form1.form1.label1.Text =""(以控件label1为例) 来为你想改变的控件的属性值了;