上下文菜单
本文关键字:菜单 上下文 | 更新日期: 2023-09-27 18:19:21
我编写了一个用户控件,它本质上是一个小部件的调色板。当用户右键单击我在控件上绘制的一个小部件时,我希望允许用户删除所选小部件。
在我的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));
}
这个项目的处理程序是:
private void onDeleteMenuItem_Click(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Deleting...");
}
当我右键单击时,显示菜单,但从未调用处理程序。我做错了什么?
我怀疑这是因为你没有添加菜单项:
修改这行代码:
deleteMenu.MenuItems.Add("Delete");
:
deleteMenu.MenuItems.Add(deleteItem);