WinForm中右鍵菜單的添加

方法一:給需要添加右鍵菜單的控件設置ContextMenuStrip屬性,如給dataGridView1添加菜單方法爲: this.dataGridView1.ContextMenuStrip = this.contextMenuStrip1;

這樣做右鍵菜單自動添加,也無需設定菜單的位置,只要在控件上單擊右鍵,即可在鼠標處彈出菜單

這樣做的缺點有兩個:第一個,不能在控件的指定位置彈出菜單,因爲有時候並不需要在控件的所有位置都彈出,例如對於DatagridView而言,可能僅僅需要在右鍵單擊列名的時候彈出菜單;第二個,控件的click等事件無法執行,右鍵單擊控件,並沒有執行相應的事件函數而只是跳出菜單,左鍵單擊事件可以執行,這在很多情況限制了用途,比如,需要跟據右鍵單擊處的值,彈出菜單進行不同的操作,這時這種方法就無法滿足。

方法二:不要設置控件的ContextMenuStrip屬性,而是在單擊右鍵時,Show出菜單,菜單位置的調整是通過單擊時Cursor的位置。例如,在右鍵單擊datagridview的列名時,獲得該列列名,並彈出菜單,程序如下:

 

這樣最大的好處是可以獲得右鍵單擊處的信息。


方法三:

contextMenuStrip2.Show(MousePosition.X, MousePosition.Y);

發佈了89 篇原創文章 · 獲贊 9 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章