ToolBarButton添加到ToolBar控件的ToolBarButtonCollection中。为了确定按钮的类型,可以把Style属性设置为一个ToolBarButtonStyle枚举值。Style选项有DropDownButton、PushButton、Separator和ToggleButton。PushButton是标准按钮。DropDownButton显示选中选项的上下文菜单。ToggleButton是一个二状态的按钮,要么是按下(Pushed属性设置为true),要么是释放(Pushed属性设置为false)。
要设置应显示在按钮上的图标,可以把ImageIndex设置为在ToolBar控件上使用的ImageList的索引。Text属性定义显示在按钮上的文本。如果设置了ToolTip文本,它就在鼠标位于按钮上时显示为工具提示。
为了在单击ToolBarButton时执行一个任务,您可能会考虑在按钮上使用单击事件。但这里不是这样。ToolBar控件有一个ButtonClick事件,它接收一个ToolBarButtonClickEventArgs对象。这个对象有一个Button属性,它返回被单击的ToolBarButton。在ButtonClick事件中,一般有一个switch语句,负责传送ToolBarButtonClickEventArgs对象的Button属性。根据被单击的按钮,switch语句执行相应的代码。例如,假定有一个ToolBar控件tbMain,它在ToolBarButtonCollection中有3个按钮。我们要使用ToolBarButton的Text属性确定在tbMain_ButtonClick事件中执行什么代码。
private void tbMain_ButtonClick(object sender,
System.Windows.Forms. ToolBarButtonClickEventArgs e)
{
switch(e.Button.Text)
{
case "Button 1":
{
MessageBox.Show("The Button 1 toolbar button was selected. ");
break;
}
case "Button 2":
{
if (e.Button.Pushed)
MessageBox.Show("The Button 2 toolbar button is pushed. ");
else
MessageBox.Show("The Button 2 toolbar button is not pushed.");
break;
}
case "Button 3":
{
MessageBox.Show("The Button 3 toolbar button was selected. ");
break;
}
}
}
在这个简单的示例中,仅给用户显示了一个消息框,说明单击了哪个按钮。对于文本值为Button 2的按钮,还查询了Pushed属性,只有Style属性被设置为ToolBarButtonStyle. ToggleButton时,才与此相关。
摘自《C#高级编程》