ToolStrip 工具栏控件
ToolStrip 是工具栏控件,通常显示在菜单栏(MenuStrip)的下方,用于放置常用操作的快捷按钮。

可添加的子项类型
| 子项类型 | 说明 |
|---|---|
ToolStripButton | 标准按钮,最常用 |
ToolStripLabel | 文本标签,不可点击 |
ToolStripSplitButton | 分体按钮,左侧点击 + 右侧下拉 |
ToolStripDropDownButton | 下拉按钮 |
ToolStripSeparator | 分隔线 |
ToolStripComboBox | 下拉组合框 |
ToolStripTextBox | 文本框 |
ToolStripProgressBar | 进度条 |

添加按钮和事件
拖拽 ToolStrip 到窗体后,点击下拉箭头选择要添加的子项。为按钮设置 Image 和 Text 后,双击按钮自动生成点击事件:
private void toolStripButton1_Click(object sender, EventArgs e)
{
MessageBox.Show("你好吗");
}Code language: JavaScript (javascript)
设置按钮显示样式
按钮可以同时显示图片和文本,通过 DisplayStyle 和 TextImageRelation 控制:
this.toolStripButton1.Text = "保存";
this.toolStripButton1.Image = Properties.Resources.save;
this.toolStripButton1.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText; // 图片+文字
this.toolStripButton1.TextImageRelation = TextImageRelation.ImageBeforeText; // 图片在文字左侧
this.toolStripButton1.ImageAlign = ContentAlignment.MiddleLeft;
this.toolStripButton1.TextAlign = ContentAlignment.MiddleRight;Code language: JavaScript (javascript)
| DisplayStyle | 说明 |
|---|---|
Image | 仅显示图片 |
Text | 仅显示文字 |
ImageAndText | 图片+文字 |
None | 都不显示 |
常用属性
| 属性 | 说明 |
|---|---|
Items | 工具栏上的子项集合 |
Dock | 停靠位置(默认 Top) |
GripStyle | 是否显示左侧移动手柄 |
LayoutStyle | 布局方式(StackWithOverflow、HorizontalStackWithOverflow、VerticalStackWithOverflow、Table) |
ShowItemToolTips | 是否显示工具提示 |
Stretch | 是否拉伸填满宽度 |
RenderMode | 渲染模式(System、Professional、ManagerRenderMode) |
AutoSize | 是否自动调整大小 |
this.toolStrip1.Dock = DockStyle.Top;
this.toolStrip1.Stretch = true;
this.toolStrip1.ShowItemToolTips = true;
this.toolStrip1.GripStyle = ToolStripGripStyle.Hidden; // 隐藏移动手柄Code language: JavaScript (javascript)
后台动态添加按钮
ToolStripButton btn = new ToolStripButton();
btn.Text = "新建";
btn.Image = Properties.Resources.newfile;
btn.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;
btn.Click += (s, e) => { MessageBox.Show("新建文件"); };
this.toolStrip1.Items.Add(btn);
// 添加分隔线
this.toolStrip1.Items.Add(new ToolStripSeparator());Code language: JavaScript (javascript)
设置按钮状态
this.toolStripButton1.Enabled = false; // 禁用
this.toolStripButton1.Visible = false; // 隐藏
this.toolStripButton1.Checked = true; // 勾选状态(配合 CheckOnClick)
this.toolStripButton1.CheckOnClick = true; // 点击切换勾选状态Code language: JavaScript (javascript)
常用事件
| 事件 | 说明 |
|---|---|
ItemClicked | 任意子项被点击时触发 |
Click | 单个按钮的点击事件 |
ButtonClick | 按钮点击 |
// 通过 ItemClicked 统一处理(配合 Tag 标识)
private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
switch (e.ClickedItem.Tag?.ToString())
{
case "New":
MessageBox.Show("新建");
break;
case "Open":
MessageBox.Show("打开");
break;
}
}Code language: JavaScript (javascript)
与 StatusStrip / MenuStrip 的关系
| 控件 | 位置 | 用途 |
|---|---|---|
MenuStrip | 顶部最上方 | 菜单栏 |
ToolStrip | 菜单栏下方 | 工具栏/快捷按钮 |
StatusStrip | 底部 | 状态栏 |
三者通常配合使用,构成标准的桌面应用程序界面布局。


Previous: Timer 定时器控件