簡體   English   中英

在C#WinForm中單擊子ToolStripMenuItem時,ToolStripMenuItem未關閉

[英]ToolStripMenuItem not closing when a child ToolStripMenuItem is Clicked in a C# WinForm

當我單擊子控件(在其DropDrowItems集合中)時,有沒有辦法使ToolStripMenuItem不關閉?

在我的例子中,我有一些ToolStripMenuItems作為一個復選框。 實際上,我使用Check屬性在一些ToolStripMenuItems中實現了一個無線電行為。 但是當我點擊它們中的任何一個時我不想關閉菜單,因為它們不是動作,它們只代表菜單項中的選項。

那可能嗎?

   this.menuItem.DropDown.Closing += new ToolStripDropDownClosingEventHandler(DropDown_Closing); 

void DropDown_Closing(object sender, ToolStripDropDownClosingEventArgs e)
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                    ((ToolStripDropDownMenu) sender).Invalidate();
                } 
            }

僅供參考:

  • Closing事件存在於ContextMenuStripToolStripDropDown上
  • 在使用設計器進行設計時,您可以訪問ContextMenuStrip (彈出菜單)和ToolStripMenuItem(子菜單)對象,但不能訪問ToolStripMenuItem的ToolStripDropDown對象!
  • 這就是為什么你必須通過代碼自己設置ToolStripDropDown對象的Closing事件(參見Zabulus答案)。

暫無
暫無

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

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