我创建了一个在用户右键单击时显示的上下文菜单.我无法弄清楚如何在单击其中一个菜单项时调用表单.看下面的代码.
if (e.Button == MouseButtons.Right)
{
ContextMenu m = new ContextMenu();
m.MenuItems.Add(new MenuItem("New"));
m.MenuItems.Add(new MenuItem("-"));
m.MenuItems.Add(new MenuItem("Old"));
m.MenuItems.Add(new MenuItem("Lost"));
m.MenuItems.Add(new MenuItem("-"));
m.MenuItems.Add(new MenuItem("Found"));
switch(m.Name)
{
case "New":
new FrmInfo().ShowDialog();
break;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用MenuItem(String,EventHandler)构造函数,它将OnClick事件处理程序作为第二个参数.
所以你的代码看起来像
m.MenuItems.Add(new MenuItem("New", MenuItemNew_Click));
...
private void MenuItemNew_Click(Object sender, System.EventArgs e)
{
new FrmInfo().ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)