winform中contextMenuStrip使用

1.在VS中添加contextMenuStrip控件,contextMenuStrip的屬性可以直接設置或用代碼進行設置。

2.基本使用:

(1)添加控件後,一般是跟其他控件綁定在一起,通過在主界面控件中設置其ContextMenuStrip屬性,選中新建的控件對象即可。

(2)在winform設計界面可以直觀地對contextMenuStrip內容進行添加,包括menuitem/combobox/separator/textbox

(3)如果要在選項點擊後,該選項打勾。則設置CheckOnClick


winform可能在界面美化上有所不足,但基本功能齊全,使用控件多看其屬性。


3.問題:右鍵後contextMenuStrip菜單出現,用戶可以一次性點擊多個菜單選項,而不是點擊任意選項後contextMenuStrip馬上消失。

(1)contextMenuStrip控件中有相關屬性autoclose,將此屬性設置爲false,則右鍵菜單出現後,被用戶隨意點擊都不會關閉。

而且需要注意的是autoclose只對contextMenuStrip一級菜單有效,對後續子菜單無效。

(2)MSDN上說了,一般請考慮處理 Closing 事件而不是設置 AutoClose 屬性。進行相關設置的方法可參考如下

 private void contextMenuStrip1_Closing(object sender, ToolStripDropDownClosingEventArgs e)

  if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)

   {    e.Cancel = true;   }

 }

(3)若要通過點擊的選項文本來判斷是否關閉

private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {           
                if (e.ClickedItem.Text == ((ContextMenuStrip)sender).Items[0].Text)//或者e.ClickedItem == ((ContextMenuStrip)sender).Items[0]

//用戶選擇第一項時
                {                 
                }                         

        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章