在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.至此我们的弹出菜单就完成
|