|
1,在编写ToolBar的ButtonClick事件时,可能会产生疑问,因为在vs 2003中ToolBar上button的没有自己的click事件。下面是事件响应函数的框架
protected void toolBar1_ButtonClick ( Object sender, ToolBarButtonClickEventArgs e)
{
// e.Button获得了toolbar上的button
//利用button在toolbar上的Index号来区分点击了哪个button
//使用switch来给出不同的响应
switch(toolBar1.Buttons.IndexOf(e.Button))
{
case 0:
// Insert code
break;
case 1:
// Insert code
break;
case 2:
// Insert code
break;
}
}
2,把ToolBar上的button的响应和菜单相联系
首先,把ToolBar上的每一个button的Tag属性设置为相应的菜单名称,这里要注要的是如果你是通过设计视图里直接填写tag属性的值,系统自动生成的代码是:
this.tbbExit.Tag = "mnuUserExit";
你需要手工改成:
this.tbbExit.Tag = mnuUserExit;
其中mnuUserExit是一个菜单的名字,即是一个MenuItem对象
其次,ToolBar的ButtonClick事件可以写成下面的样子:
private void myToolBar_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
ToolBarButton tbCurrent = e.Button;
MenuItem menuItem = (MenuItem)(tbCurrent.Tag);
menuItem.PerformClick();
}
这样很好的完成了功能,同时节省了代码。
|
|