Erl*_* D. 4 c# events click menuitem
我正在创建一个上下文菜单,其中应包含所有文件夹,子文件夹和所选文件夹中文件的列表。我希望菜单在单击时打开文件和文件夹,但是如果menuitem具有子项,则单击事件不会注册。
void Foo(string Title)
{
MenuItem = new MenuItem(Title);
MenuItem.Click += new EventHandler(MenuItem_Click);
ContextMenu.MenuItems.Add(MenuItem);
}
void MenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("This box will only show when menuitems without subitems are clicked");
}
Run Code Online (Sandbox Code Playgroud)
即使菜单项有子项,如何使点击事件触发?
听起来菜单似乎不是这里最合适的UI小部件。我相信您没有引发click事件的原因是,假定带有子菜单的菜单项仅在被单击时才展开其子级,而不执行任何其他操作。
这也可能是用户的假设。
文档中提到了此行为MenuItem.Click
:
注意:如果MenuItem的MenuItems属性包含任何项目,则不会引发此事件。父菜单项不会引发此事件。