版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的
ToolStrip控件比较常见,它常见于程序的顶部,包含多个常用操作的按钮。比如下图中红框内就是word2003的一个工具栏:
图8-73 Word中的工具栏
放置一个Toolstrip到设计窗体,它自动设置为了靠窗体顶部,宽度和窗体一致。如果添加多个ToolStrip,每个ToolStrip顶端将对齐前一个的下沿依次排下去。按下ToolStrip上的向下箭头,可以看到它提供了8种类型的工具项:
图8-74 Toolstrip上可使用的8种工具项
1、Button:对应ToolStripButton类型,按钮,类似于普通的 Button。
2、Label:对应ToolStripLabel类型,标签,类似于普通的Label控件,但是支持显示图片。
3、SplitButton:对应ToolStripSplitButton类型,工具栏分割按钮,是左侧标准按钮和右侧下拉箭头的组合,单击下拉箭头会弹出菜单项。相应菜单项的添加请参考MenuStrip控件。
4、DropDownButton:对应ToolStripDropDownButton类型,工具栏下拉按钮,是左侧标准按钮和右侧下拉箭头的组合,单击按钮或下拉箭头都会弹出菜单项。相应菜单项的添加请参考MenuStrip控件。它与SplitButton区别的是,SplitButton单击按钮本身不会出现弹出菜单,而DropDownButton单击按钮也会出现弹出菜单。
5、Separator,对应ToolStripSeparator类型,分隔符,常用作相似功能工具的区域界线。
6、ComboBox:对应ToolStripComboBox类型,组合框,类似于普通的ComboBox。
7、TextBox:对应ToolStripTextBox类型,文本框,类似于普通的TextBox。
8、ProgressBar:对应ToolStripProgressBar类型,进度条,类似于普通的ProgressBar。
在设置的工具项上点击鼠标右键后的弹出菜单提供了更多设置选项:
图8-75 ToolStripSplitButton上右击的弹出菜单
不同的工具,弹出菜单不一样,按钮、标签支持设置图像、DisplayStyle等。
- 设置图像:添加工具项上显示的图像。
- Enabled:指示工具项是否可用,不可用时将呈现灰色。
- Alignment:文本对齐方式。
- DisplayStyle:指定工具项显示文本、图像的显示方式,包含以下值:
- Image 只显示图像。
- ImageAndText 同时显示图像和文本。
- None 既不显示图像,也不显示文本。
- Text 只显示文本。
- 转换为:将选中的工具项转为别的类型的工具项。
- 插入:在选中的工具项前面插入其他工具项。
- 编辑DroopDownitems:这是SplitButton 和DropDownButton才有的栏目,单击后弹出【项集合编辑器】,它提供向SplitButton 和DropDownButton上增加、删除和编辑弹出菜单,可以提供MenuItem、CombBox、TextBox、Separator四种类型增加到弹出菜单上。
【例 8.49】【项目:code8-049】使用ToolStrip控件。
在窗体上放置一个Label控件、一个ToolStrip控件。下列代码将在运行时向工具栏添加一个TextBox、一个Button和一个SplitButton,并且为SplitButton增加一个菜单项。
//窗体载入时候完成界面和事件关联
private void Form1_Load(object sender, EventArgs e)
{
//要增加的TextBox,实际是ToolStripTextBox类型
ToolStripTextBox tstbInfo = new ToolStripTextBox();
//取消自动大小
tstbInfo.AutoSize = false;
//设置宽度
tstbInfo.Width = 120;
//加入工具栏
toolStrip1.Items.Add(tstbInfo);
//要增加的Button,实际是ToolStripButton类型
ToolStripButton tsbShow= new ToolStripButton();
tsbShow.Text = "显示文本";
//只显示文字
tsbShow.DisplayStyle = ToolStripItemDisplayStyle.Text;
//加入工具栏
toolStrip1.Items.Add(tsbShow);
//事件关联方法
tsbShow.Click+= tsbClick;
//要增加的ToolStripSplitButton类型
ToolStripSplitButton tssbFont =new ToolStripSplitButton();
//设置图像
tssbFont.Image = Image.FromFile("c:\\lessons\\text.png");
//要向tssbFont增加的ToolStripMenuItem
ToolStripMenuItem tsmiFontBold =new ToolStripMenuItem();
tsmiFontBold.Name = "tsmiBold";
tsmiFontBold.Text = "粗体";
//此菜单项可以显示被选中或未选中
tsmiFontBold.CheckOnClick = true;
tsmiFontBold.Checked = false;
//在tssbFont上增加菜单项tsmiFontBold
tssbFont.DropDownItems.Add(tsmiFontBold);
//事件关联方法
tsmiFontBold.Click+=tsmiClick;
//将tssbFont加入菜单栏
toolStrip1.Items.Add(tssbFont);
}
//tsbShow.Click事件关联的方法
private void tsbClick(Object sender , EventArgs e)
{
label1.Text = toolStrip1.Items[0].Text;
}
//tsmiFontBold.Click事件关联的方法
private void tsmiClick(Object sender, EventArgs e)
{
//将Sender转为ToolStripMenuItem类型
ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;
Font lblFont;
//设置/取消粗体显示
if (tsmi.Checked ==false)
lblFont = new Font(label1.Font.FontFamily, label1.Font.Size, FontStyle.Regular);
else
lblFont = new Font(label1.Font.FontFamily, label1.Font.Size, FontStyle.Bold);
label1.Font = lblFont;
}
运行结果如下图所示:
图8-76 设置标签字体为粗体
学习更多vb.net知识,请参看vb.net 教程 目录
学习更多C#知识,请参看C#教程 目录