单击时启用/禁用ToolStripMenuItem

时间:2014-03-13 04:23:38

标签: c# winforms toolstripmenu toolstripitem

我有两种形式(称为form1作为mdi容器和form2),在form1中有一个opentoolstripmenuitem,当opentoolstripmenuitem点击form2并且opentoolstripmenuitem变为禁用时,但是当我点击form2右上角的closebox时,opentoolstripmenu仍然禁用,我希望它在单击关闭框时再次启用。

这是我在form1中的代码:

private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
    openToolStripMenuItem.Enabled = false;
    Form2 newMDIChild = new Form2();
    newMDIChild.MdiParent = this;
    newMDIChild.Show();            
}

任何建议??

2 个答案:

答案 0 :(得分:1)

在单击处理程序中,为Form2的Closing或Closed事件创建一个处理程序:

newMDIChild.FormClosed += new FormClosedEventHandler(newMDIChild_FormClosed);

void newMDIChild_FormClosed(object sender, FormClosedEventArgs e)
{
        openToolStripMenuItem.Enabled = true;
}

答案 1 :(得分:1)

简单只需在表单上使用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之后的下一个代码在对话框关闭之前不会被执行

希望它有效

由于