0

我想为 a 编写一个点击事件ContextMenuStrip。我已将此上下文菜单条链接到NotifyIcon.

我怎样才能做到这一点?这是我使用的代码:

ContextMenuStrip checkers_contact_menu = new ContextMenuStrip();
checkers_contact_menu.Items.Add("Open Mailbox");
checkers_contact_menu.Items.Add("About");
alert_sender.ContextMenuStrip = checkers_contact_menu;

我试过这个

ContextMenuStrip checkers_contact_menu = new ContextMenuStrip();
checkers_contact_menu.Items.Add("Open Mailbox",null,openMailBoxToolStripMenuItem_Click);

private void openMailBoxToolStripMenuItem_Click(object sender, ToolStripItemClickedEventArgs e)
{
  MessageBox.Show("Mail box");
}

但我收到一个错误说

错误 1 ​​'System.Windows.Forms.ToolStripItemCollection.Add(string, System.Drawing.Image, System.EventHandler)' 的最佳重载方法匹配有一些无效参数

PS:代码正在运行,我有事件处理程序ToolStripItemClickedEventArgs e应该是EventArgs e。现在代码工作正常。谢谢你的帮助 :)

4

1 回答 1

2

您需要存根事件处理程序方法:

private void aboutToolStripMenuItem_Click(object sender, EventArgs e) {
   MessageBox.Show("About");
}

然后在添加菜单项时,将事件处理程序方法指定为其参数之一:

checkers_contact_menu.Items.Add("About", null, aboutToolStripMenuItem_Click);
于 2012-06-03T12:33:17.300 回答