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