![](/img/trans.png)
[英]ToolStripMenuItem not closing when a child ToolStripMenuItem is Clicked in a C# WinForm
[英]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.