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