![]() |
【转帖】如何编写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(); } 这样很好的完成了功能,同时节省了代码。 |
所有的时间均为北京时间。 现在的时间是 06:57 PM. |