当用户点击上下文菜单中的MenuItem时,我正在尝试显示消息框提醒。这是上下文菜单代码:
public Form1()
{
MenuItem mni = new MenuItem();
mni.Text = "BackLog Task";
mni.MenuItems.Add("Backlog Task (1)");
mni.Click += new EventHandler(this.mni_Click);
contextMenu1.MenuItems.Add(mni);
notifyIcon1.Visible = true;
notifyIcon1.Icon = new System.Drawing.Icon
(System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal)
+ @"\icon.ico");
notifyIcon1.Text = "Right-click me!";
notifyIcon1.ContextMenu = contextMenu1;
InitializeComponent();
}
这是点击事件处理程序:
void mni_Click(object sender, EventArgs e)
{
MessageBox.Show("Back Log Event Handler");
}
但是click事件永远不会被触发。有什么想法可能有什么问题吗?
答案 0 :(得分:3)
您的MenuItem
有后代,您添加了:
mni.MenuItems.Add("Backlog Task (1)");
如果你检查the documentation for the Click event它明确说明(粗体是我的):
如果MenuItem的MenuItems属性包含任何项目,则不会引发此事件。不会为父菜单项引发此事件。