C# 单击时启用/禁用ToolStripMenuItem
我有两个表单(称为form1为mdi容器,称为form2),在form1中有一个opentoolstripmenuitem,当opentoolstripmenuitem单击form2调用时,opentoolstripmenuitem变为禁用,但当我单击form2右上角的closebox时,opentoolstripmenuitem仍然禁用,我希望在单击closebox时再次启用它 这里是我的form1代码:C# 单击时启用/禁用ToolStripMenuItem,c#,winforms,toolstripmenu,toolstripitem,C#,Winforms,Toolstripmenu,Toolstripitem,我有两个表单(称为form1为mdi容器,称为form2),在form1中有一个opentoolstripmenuitem,当opentoolstripmenuitem单击form2调用时,opentoolstripmenuitem变为禁用,但当我单击form2右上角的closebox时,opentoolstripmenuitem仍然禁用,我希望在单击closebox时再次启用它 这里是我的form1代码: private void openToolStripMenuItem_Click(obj
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
openToolStripMenuItem.Enabled = false;
Form2 newMDIChild = new Form2();
newMDIChild.MdiParent = this;
newMDIChild.Show();
}
任何建议???在单击处理程序中,为Form2的关闭或关闭事件创建一个处理程序:
newMDIChild.FormClosed += new FormClosedEventHandler(newMDIChild_FormClosed);
及
只需在表单上使用ShowDialog()并在ShowDialog之后启用它
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
openToolStripMenuItem.Enabled = false;
Form2 newMDIChild = new Form2();
newMDIChild.MdiParent = this;
newMDIChild.ShowDialog();
openToolStripMenuItem.Enabled = true;
}
showdialog之后的下一个代码在对话框关闭之前不会执行
希望它能起作用
谢谢在
newMDIChild
上添加一个“关闭”事件处理程序,重新启用菜单项。您可以在openToolStripMenuItem\u单击
中以编程方式执行此操作。为什么要禁用它呢?如果再次单击打开的实例,为什么不简单地激活它呢?你能给我具体的代码吗?
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
openToolStripMenuItem.Enabled = false;
Form2 newMDIChild = new Form2();
newMDIChild.MdiParent = this;
newMDIChild.ShowDialog();
openToolStripMenuItem.Enabled = true;
}