如题;也不知道问的整部正规;我是C#的初学者;
我建立了两个窗体;Form1和Form2.在Form1中有几个控件;其Enable设置为False;
在Form2中有一个button;我就是想同过单击Form2中的button;使Form1中几个控件
的Enable属性值变成True;据说要把Form1加载到Form2中;谢谢各位
我建立了两个窗体;Form1和Form2.在Form1中有几个控件;其Enable设置为False;
在Form2中有一个button;我就是想同过单击Form2中的button;使Form1中几个控件
的Enable属性值变成True;据说要把Form1加载到Form2中;谢谢各位
把你Form1中需要设置的控件 设置成public
public event BtnClickEventHandler OnBtnClick;然后, 在Form2中的button Click中private void button_Click(object sender, EventArgs e)
{
if(OnBtnClick != null)
{
OnBtnClick(sender, e);
}
}再之后就是在Form1中接这个Event啦, 在Form1的Constructor中protected Form2 frm2;
public Form1(Form2 frm2)
{
this.frm2 = frm2;
this.frm2.OnBtnClick += new EventArgs(frm2_OnBtnClick);
}private void frm2_OnBtnClick(object sender, EventArgs e)
{
//Do anything you want to do
}
private Form1 frm;
public Form1 Form1
{
set{this.frm = value;}
}
然后在Form1 实例化Form2的地方加上
Form2 frm2 = new Form2();
frm2.Form1 = this;
frm2.Show();接下来只要在Form1定义一个public 的方法负责改属性就好了
public void aaa(bool flag)
{
xxxx.Enable = flag;
}
一:
两个窗体要互相操作的控件设为public,
然后可以在每个窗体的构造函数的地方传入另一个窗体的引用,然后存到一个变量里,这样就可以使用了。
二:
也得设为Public 然后 把每个窗体内都声明一个static的变量 类型为自己本身,然后在构造函数的地方把this赋值给这个变量,然后别的窗体就可以调用 窗体类型名.控件名来操作了。
这种方法适用于窗体只创建一个。
dim Frm2 as new Form2
Frm2.TopLevel = False
me.Controls.Add(Frm2)
Frm2.show实际上就是把Form2当作Form1的控件用了
F2.TopLevel = False
Form1.Pannel.Controls.Add(F2)
F2.show()实际上就是把Form2当作Form1的控件用了
=====================
form.FormBorderStyle = FormBorderStyle.None;
form.TopLevel = false;
this.panel1.Controls.Add(form);
form.Show();