我的MDIparent1
中有以下方法public void Disablebutton()
{
toolStripButton1.Enabled = false;
}
在我的LoginForm OKButton中单击
MDIParent1 f1 = new MDIParent1();
f1.Disablebutton();
this.Close();
LoginForm是MDIparent1的模态。
问题是Disablebutton()在LoginForm
中不起作用答案 0 :(得分:2)
您正在创建MDIParent1
的新实例,而不是使用打开LoginForm
的实际实例。您可以将父级传递给LoginForm
构造函数。
private MDIParent1 _parentForm = null;
public LoginForm(MDIParent1 parentForm)
{
_parentForm = parentForm;
}
//then in whichever event you're using
_parentForm.Disablebutton();
this.Close();
如果您想要显示LoginForm
表单,请传递MDIParent1
表单。
//assuming this is in MDIParent1.cs (otherwise pass the form instance variable)
using(LoginForm lf = new LoginForm(this))
{
lf.Show();
}
答案 1 :(得分:1)
根据我对您的代码的理解,您正在创建一个新的MDIParent1窗口并在新创建的MDIParent1窗口上调用DisableButton。您必须在拥有LoginForm的表单上调用DisableButton(通过MdiParent属性)。
编辑:有人打败了我。
答案 2 :(得分:0)
您应该以MDIchild形式
执行此操作 if(this.MdiParent is LoginForm)
{
(this.MdiParent as LoginForm).Disablebutton();
}