超级版主
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
|
【转帖】如何编写ToolBar的ButtonClick事件
1,在编写ToolBar的ButtonClick事件时,可能会产生疑问,因为在vs 2003中ToolBar上button的没有自己的click事件。下面是事件响应函数的框架
protectedvoid toolBar1_ButtonClick ( Object sender, ToolBarButtonClickEventArgs e)
{
// e.Button获得了toolbar上的button
//利用button在toolbar上的Index号来区分点击了哪个button
//使用switch来给出不同的响应
switch(toolBar1.Buttons.IndexOf(e.Button))
{
case0:
// Insert code
break;
case1:
// Insert code
break;
case2:
// Insert code
break;
}
}
2,把ToolBar上的button的响应和菜单相联系
首先,把ToolBar上的每一个button的Tag属性设置为相应的菜单名称,这里要注要的是如果你是通过设计视图里直接填写tag属性的值,系统自动生成的代码是:
this.tbbExit.Tag = "mnuUserExit";
你需要手工改成:
this.tbbExit.Tag = mnuUserExit;
其中mnuUserExit是一个菜单的名字,即是一个MenuItem对象
其次,ToolBar的ButtonClick事件可以写成下面的样子:
privatevoid myToolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
ToolBarButton tbCurrent = e.Button;
MenuItem menuItem = (MenuItem)(tbCurrent.Tag);
menuItem.PerformClick();
}
这样很好的完成了功能,同时节省了代码。
__________________
借用达朗贝尔的名言:前进吧,你会得到信心!
[url="http://www.dimcax.com"]几何尺寸与公差标准[/url]
|