C#中NotifyIcon的ContextMenuStrip的事件处理程序

时间:2012-06-03 11:16:04

标签: c# .net winforms notifyicon contextmenustrip

我想为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。现在代码工作正常。谢谢你的帮助:)

1 个答案:

答案 0 :(得分:2)

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

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

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

checkers_contact_menu.Items.Add("About", null, aboutToolStripMenuItem_Click);