转载请注明出处:http://blog.csdn.net/zjbpku/article/details/7515691
以前我完成这样的功能是通过get{}和set{}来完成的,结果发现其效率并不高,而且有时候对控件的控制也不能完成预期目标,让我很恼火。现在可以通过以下方法来实现在一个winform中控制另一个winform中的控件。比如说:现在又两个窗口,每个窗口有一个button,第一个窗口中的按钮可以打开第二个窗口,第二个窗口打开后,通过其中的button使第一个窗口中的按钮失效。首先修改第一个button的modifies为public。
代码如下:
第一个窗口中:
public partial class Form1 : Form
{
//转载请注明:blog.csdn.net/zjbpku
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(this);
frm2.Show();
}
}
第二个窗口中:
private Form1 frm;
public Form2(Form1 form1)
{
frm = form1;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
frm.button1.Enabled= false;
}
这样就可以通过窗口二中的按钮使窗口一中的按钮失效。