日期:2013-02-12  浏览次数:20417 次

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