C#的几个代码问题大侠进来帮忙

软件  |  电脑网络

1.private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
ToolBarButton button=e.Button;
MenuItem mItem=(MenuItem)button.Tag;
mItem.PerformClick();
}
在这段代码的所在环境中没有声明任何关于e.button的方法。很多地方都用他作为单击触发事件,到底e.button是否是某个类库的默认方法吗?麻烦大侠确定。

2.关于ToolBarButton.Tag中tag的应用我有点看不懂比如toolBarButton1.Tag=menuItem6;用toolbar创建4个button用tag的原因
分享:
2017-08-20

2017-08-20最佳答案

看清楚
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
中声明了参数 e (类型为 System.Windows.Forms.ToolBarButtonClickEventArgs), Button 是 e 的属性(想了解更多关于 ToolBarButtonClickEventArgs 的属性与方法,请自行查阅 MSDN)

所有的事件处理方法都有两个参数:一个是引发事件的对象,另一个是与事件相关的参数。
--------------------------------------------------------
在 .Net 类库中,许多类都有属性 Tag, Tag 属性是用来存放与该类实例相关的数据。


随便说一下,虽然 C# 很容易学,但对于你应该把基础学好(从你的提问中可以看出你对一些基础概念还是很模糊或还未理解),切勿心浮气燥!

其它1条答案

private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
ToolBarButton button=e.Button;
MenuItem mItem=(MenuItem)button.Tag;
mItem.PerformClick();
}
两个参数:一个是引发事件的对象sender,另一个是与事件相关的参数e。
e.button就表示你当前所单击的ToolBar中的按钮的引用
-------------------------------------------------
在datagrid中也有同样的用法:e.Item.ItemIndex

2017-08-20