我想只禁用父窗体的控件,只需按一下按钮即可。就像在我的winform应用程序中我正在加载一个按钮的子窗体,所以我想知道如何禁用窗体的控件而不是父窗体的外观。有人可以帮帮我吗?
答案 0 :(得分:1)
检查子表单是否在Application.OpenForms
中。类似的东西:
bool IsOpen=false;
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if(frm.Name=="YourFormName")
IsOpen=true;
}
if(IsOpen)
{
//Child form is open
btnGoToChild.Enabled=false;
}
else
{
//Not open
btnGoToChild.Enable=true;
}
要重新启用控件,
父表单
gotoChild()
{
frmChild=new frmChild(this);
frmChild.Show();
}
儿童表格
frmParent ObjParent=null;
frmChild(frmParent obj) //Constructor
{
this.ObjParent=obj;
}
CloseForm() //invoke this function in Form_Close
{
if(ObjParent!=null)
ObjParent.btnGoToChild.Enabled=true;
}
将btnGoToChild的Modifiers
属性更改为public
。然后,它只能从另一种形式访问。