c#中如何使用一个新窗体来控制旧窗体上的控件?

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:55:14
初学C#遇到一个小问题
: 在主窗体Form1中改变窗体标题this.Text="123";就行了,
但用一个新窗体Form2怎么做呢?

form1的显示form2的事件中,下面以按钮事件为例:
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.Show();
}

form2中:
private Form1 myf1; // 加入这一句
public Form2(Form1 f1) // ()中加入form1 f1
{
InitializeComponent();
this.myf1 = f1; // 加入这一句
}

这样就可以用这个myf1来代替原来的form1
如果要用到原来form1中的控件属性的话,比如textbox1
那么这个textbox1的modifiers请设为Internal

1.在打开Form2的时候将Form1传入.
代码如下:
Form2 for2=new Form2(this);
for2.show();

2.在Form1里定义一个更改标题的公共方法
代码如下:
public void Modify()
{
this.Text="123";
}

3.在Form2的构造里传入Form1
代码如下:
Form1 for1;
public Form2(Form1 for1)
{
InitializeComponent();
this.for1 = for1;
}

4.通过for1调用Modify方法
for1.Modify();

这样就OK了!详细吧,嘿嘿.

用属性呀