ToolStripContainer 工具条容器控件

ToolStripContainer 工具条容器控件

ToolStripContainer 是一个工具条容器控件,它提供了四个方向的停靠区域(上、下、左、右),中间是主内容区域。

基本结构

拖拽 ToolStripContainer 到窗体后,会自动生成五个区域:

区域说明
TopToolStripPanel顶部停靠区
BottomToolStripPanel底部停靠区
LeftToolStripPanel左侧停靠区
RightToolStripPanel右侧停靠区
ContentPanel中间主内容区域

基本使用

将 ToolStrip 拖入 ToolStripContainer 的某个方向面板中,运行后用户可以拖动工具条到不同的边上,自由切换停靠位置。

// 后台将 ToolStrip 添加到顶部面板
this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1);Code language: JavaScript (javascript)

常用属性

属性说明
TopToolStripPanel顶部工具条面板
BottomToolStripPanel底部工具条面板
LeftToolStripPanel左侧工具条面板
RightToolStripPanel右侧工具条面板
ContentPanel中间内容面板,放置主控件
TopToolStripPanelVisible是否显示顶部面板
BottomToolStripPanelVisible是否显示底部面板
LeftToolStripPanelVisible是否显示左侧面板
RightToolStripPanelVisible是否显示右侧面板
this.toolStripContainer1.TopToolStripPanelVisible = true;
this.toolStripContainer1.LeftToolStripPanelVisible = true;
this.toolStripContainer1.RightToolStripPanelVisible = false;   // 隐藏右侧
this.toolStripContainer1.BottomToolStripPanelVisible = false;  // 隐藏底部Code language: JavaScript (javascript)

在 ContentPanel 中添加主控件

// 将 RichTextBox 放入中间内容区
this.richTextBox1.Dock = DockStyle.Fill;
this.toolStripContainer1.ContentPanel.Controls.Add(this.richTextBox1);Code language: JavaScript (javascript)

运行时拖放

运行后,用户可以:

  • 拖动 ToolStrip 到四个方向面板中的任意一个
  • 拖动到同一面板的不同位置重新排列

注意:ToolStrip 的 GripStyle 需设为 Visible(默认),否则无法拖动。

this.toolStrip1.GripStyle = ToolStripGripStyle.Visible; // 显示左侧手柄,允许拖动Code language: JavaScript (javascript)

与 ToolStrip 配合的布局体系

控件用途
ToolStrip工具条本身
MenuStrip菜单栏(也可放入 ToolStripContainer 中)
StatusStrip状态栏(通常放在底部面板)
ToolStripContainer提供可拖放的停靠容器

典型布局示例

// MenuStrip 放在顶部
this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.menuStrip1);
// ToolStrip 放在顶部(MenuStrip 下方)
this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1);
// StatusStrip 放在底部
this.toolStripContainer1.BottomToolStripPanel.Controls.Add(this.statusStrip1);
// 主编辑区放入 ContentPanel
this.toolStripContainer1.ContentPanel.Controls.Add(this.richTextBox1);Code language: JavaScript (javascript)

注意事项

  • ToolStripContainer 本身是一个容器,不能直接当作普通 Panel 使用
  • 中间 ContentPanel 才是放置主工作区控件的地方
  • 如果不需要拖放功能,直接用 Dock 布局 + 普通 Panel 即可,不需要使用 ToolStripContainer
  • 多个 ToolStrip 可以放在同一个方向面板中,垂直排列

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注