The*_*eek 2 c# user-controls contextmenu
我写了一个usercontrol,实质上是一个小部件的调色板.当用户右键单击我在控件上绘制的其中一个小部件时,我希望允许用户删除所选小部件.
在我的usercontrol的MouseClick事件处理程序中,我确定用户单击了哪个窗口小部件.然后我检查鼠标按钮是否是正确的按钮.如果是这样,我会显示一个菜单,允许用户删除小部件:
if (e.Button == MouseButtons.Right)
{
ContextMenu deleteMenu = new ContextMenu();
MenuItem deleteItem = new MenuItem("Delete...", new System.EventHandler(this.onDeleteMenuItem_Click));
deleteMenu.MenuItems.Add("Delete");
deleteMenu.Show(this, new Point(mouseXPosition, mouseYPosition));
}
Run Code Online (Sandbox Code Playgroud)
我的这个项目的处理程序是:
private void onDeleteMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Deleting...");
}
Run Code Online (Sandbox Code Playgroud)
当我右键单击时,会显示菜单,但处理程序永远不会被调用.我究竟做错了什么?
我怀疑是因为你没有添加菜单项:
更改此行代码:
deleteMenu.MenuItems.Add("Delete");
Run Code Online (Sandbox Code Playgroud)
至:
deleteMenu.MenuItems.Add(deleteItem);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3712 次 |
| 最近记录: |