C#MDI窗体子窗体关闭为何父窗体的菜单项和工具栏按钮不能恢复?
MDI窗体,含菜单和工具栏。在form1中用formfrm=newform2的方法show()出一个子窗体。privatevoidform2_load(objectsen...
MDI窗体,含菜单和工具栏。
在form1中用form frm=new form2的方法show()出一个子窗体。
private void form2_load(object sender, EventArgs e)
{
((frmMain)this.MdiParent).mnuSave.Enabled = true;
}
private void form2_formclosing(object sender, FormClosingEventArgs e)
{
((frmMain)this.MdiParent).mnuSave.Enabled = fals;
}
调试结果,form2_load()运行结果没错,mnuSave菜单项被禁止了。
可出乎意料,form2_formclosing()运行不出错,可是mnuSave菜单项恢复不了。也就是说这个事件对父窗体不起作用!
另,引申开:有实时监视事件的方法吗?比如说,richtextbox内容改变,工具栏按钮toolSave的禁止和恢复?
form1就是frmMain,写错了,不过大家都能看懂。
1楼的,frmMain加载时mnuSave被禁用了,没有打开的子窗体啊,保存什么?你是不是没看懂,打开后恢复,关闭子窗体禁止啊!没错 展开
在form1中用form frm=new form2的方法show()出一个子窗体。
private void form2_load(object sender, EventArgs e)
{
((frmMain)this.MdiParent).mnuSave.Enabled = true;
}
private void form2_formclosing(object sender, FormClosingEventArgs e)
{
((frmMain)this.MdiParent).mnuSave.Enabled = fals;
}
调试结果,form2_load()运行结果没错,mnuSave菜单项被禁止了。
可出乎意料,form2_formclosing()运行不出错,可是mnuSave菜单项恢复不了。也就是说这个事件对父窗体不起作用!
另,引申开:有实时监视事件的方法吗?比如说,richtextbox内容改变,工具栏按钮toolSave的禁止和恢复?
form1就是frmMain,写错了,不过大家都能看懂。
1楼的,frmMain加载时mnuSave被禁用了,没有打开的子窗体啊,保存什么?你是不是没看懂,打开后恢复,关闭子窗体禁止啊!没错 展开
2个回答
展开全部
=fals;
这样也行?
--------------------------------------------
private void AboutBox1_Load(object sender, EventArgs e)
{
((Form1)this.MdiParent).MaximizeBox = false;
}
private void AboutBox1_FormClosing(object sender, FormClosingEventArgs e)
{
((Form1)this.MdiParent).MaximizeBox = true;
}
我的这个可以
AboutBox1 ab = new AboutBox1();
ab.MdiParent = this;
ab.Show();
我的加载子窗体代码
这样也行?
--------------------------------------------
private void AboutBox1_Load(object sender, EventArgs e)
{
((Form1)this.MdiParent).MaximizeBox = false;
}
private void AboutBox1_FormClosing(object sender, FormClosingEventArgs e)
{
((Form1)this.MdiParent).MaximizeBox = true;
}
我的这个可以
AboutBox1 ab = new AboutBox1();
ab.MdiParent = this;
ab.Show();
我的加载子窗体代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询