簡體   English   中英

單擊時啟用/禁用ToolStripMenuItem

[英]Enabling / Disabling ToolStripMenuItem when clicked

我有兩種形式(稱為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();            
}

任何建議?

在單擊處理程序中,為Form2的Closing或Closed事件創建一個處理程序:

newMDIChild.FormClosed += new FormClosedEventHandler(newMDIChild_FormClosed);

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

簡單只需在表單上使用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之后的下一個代碼在對話框關閉之前不會執行

希望它有效

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM