在C#.Net中添加一個彈出式菜單是很簡單的事,通過從Windows Form控件拖一個ContextMenu到窗體上,然後為相應的控件指定contextMenu屬性,即可在右鍵點擊該控件的的時候彈出菜單,設置方法如圖:
圖1
左鍵如何也能彈出菜單呢?
用ContextMenu.Show方法,顯示菜單;Point結構來定義菜單與相關控件的位置。
步驟如下(我用的是SharpDevelop,VS.Net類似):
1. 新建一個復合工程,選擇Windows窗體工程,
圖2
2. 向窗體上拖一個ContextMenu控件和一個Button控件。
ContextMenu的name改為MYContextMenu,並添加幾個菜單項。
把button的name改為Mybutton,size設為(100,80)我這裡就以Button控件為例,其他的控件方法類似。
圖3
3. 為按鈕添加事件
void MYButtonClick(object sender, System.EventArgs e)
{
Point p=new Point(0,0);
this.MYcontextMenu.Show(MYbutton,p);
}
編譯,運行結果。在左鍵點擊按鈕後彈出了菜單
圖4
4. 注意到上面代碼中的Point結構,Point結構表示在二維平面中定義點的、整數 x 和 y坐標的有序對。上面是(0,0),不防改成(50,40)看是否顯示在中間。
Show方法的定義public void Show(Control control,Point pos); 參數 :一個 Control 對象,它指定與此快捷菜單相關聯的控件。 一個 Point 對象,它指定要顯示菜單的位置的坐標。相對於 control 參數中指定的控件的工作區坐標來指定這些坐標
圖5
5.至此我們的彈出菜單就完成了。: )