系统菜单和代表
正如您所看到的系统菜单,它们的语法如下:
MainMenu mainMenu = new MainMenu();
MenuItem fileMenuItem = new MenuItem("File");
mainMenu.MenuItems.Add(fileMenuItem);
this.Menu = mainMenu;
要为单击事件编写事件,我可以这样做吗?如何 ?
fileMenuItem.MenuItems.Add(new MenuItem("New",
MyMenuItemEventArgs(this, new MyMenuItemEventArgs("New")))
因此,在 MyMenuItemEventArgs 中,我可以将我的操作传递给一个可操作的函数。在本例中,我传递了“New”。
我不想编写 10 个或更多处理程序,我只想编写一个具有许多事件参数的处理程序。
As you have seen the system menus , they have a syntax like this :
MainMenu mainMenu = new MainMenu();
MenuItem fileMenuItem = new MenuItem("File");
mainMenu.MenuItems.Add(fileMenuItem);
this.Menu = mainMenu;
To Write Events For Click events , Can I Do something like this ? how ?
fileMenuItem.MenuItems.Add(new MenuItem("New",
MyMenuItemEventArgs(this, new MyMenuItemEventArgs("New")))
So In MyMenuItemEventArgs , I Can pass my opearion to one function which operates.in this case I have passed 'New'.
I don't want to write 10 or more handlers , i want just write one handler with many Event args.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(2)
怪我鬧2025-01-13 23:37:21
EventArgs
参数的值由触发事件的对象提供,在本例中为 MenuItem
。因此,在一个处理程序中处理多个 MenuItem
对象的 OnClick
事件的唯一方法是使用 sender
参数。您可以使用如下代码检查单击了哪个菜单项:
var mainMenu = new MainMenu();
var fileMenuItem = new MenuItem("file");
var openMenuItem = new MenuItem("open", OnClick);
var exitMenuItem = new MenuItem("exit", OnClick);
openMenuItem.Name = "open";
exitMenuItem.Name = "exit";
fileMenuItem.MenuItems.Add(openMenuItem);
fileMenuItem.MenuItems.Add(exitMenuItem);
mainMenu.MenuItems.Add(fileMenuItem);
this.Menu = mainMenu;
在事件处理程序中:
private void OnClick(object sender, EventArgs eventArgs)
{
var senderName = ((MenuItem) sender).Name;
if (senderName == "open")
{
//open was clicked
}
else if (senderName == "exit")
{
//exit was clicked
}
}
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您应该实例化一个新的 menuItem,然后使用 Click 属性添加处理程序。
之后您可以将其添加到您的菜单中:
You should instantiate a new menuItem, then use the Click attribute to add the handler.
After that you can add it to your menu: