当用户单击上下文菜单内的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();
}
这是click事件处理程序:
void mni_Click(object sender, EventArgs e)
{
MessageBox.Show("Back Log Event Handler");
}
但是click事件永远不会触发。有谁知道可能是什么错误吗?
最佳答案
您的MenuItem
具有后代,并在其上添加:
mni.MenuItems.Add("Backlog Task (1)");
如果您选择the documentation for the Click event,则明确指出(粗体是我的):
如果MenuItem的MenuItems属性包含任何项目,则不会引发此事件。父菜单项不会引发此事件。