ToolStrip 控件概述(Windows 窗体)

Windows 窗体 ToolStrip 控件及其关联类提供了一个通用框架,用于将用户界面元素组合到工具栏、状态栏和菜单中。 ToolStrip 控件提供丰富的设计时体验,包括就地激活和编辑、自定义布局和漂浮,使工具栏可以共享水平或垂直空间。

尽管 ToolStrip 替换了早期版本中的控件并向其添加了功能,但也保留 ToolBar,以备后向兼容和将来需要时使用。

ToolStrip 控件的功能

使用 ToolStrip 控件可以:

  • 跨容器显示通用用户界面。

  • 创建易于自定义的常用工具栏,使其支持高级用户界面和布局功能,例如停靠、漂浮、带有文本和图像的按钮、下拉按钮和控件、溢出按钮以及 ToolStrip 项的运行时重新排序。

  • 支持溢出和运行时项重新排序。 当没有足够的空间在 ToolStrip 中显示项时,溢出功能会将项移动到下拉菜单。

  • 通过通用渲染模型支持操作系统的典型外观和行为。

  • 以与处理其他控件的事件相同的方式一致地处理所有容器和包含的项的事件。

  • 将项从一个 ToolStrip 拖动到另一个 ToolStrip 或该对象内容。

  • ToolStripDropDown 中创建具有高级布局的下拉控件和用户界面类型编辑器。

使用 ToolStripControlHost 类来使用 ToolStrip 上的其他控件并为它们获得 ToolStrip 功能。

可使用 ToolStripRendererToolStripProfessionalRendererToolStripManager 以及 ToolStripRenderModeToolStripManagerRenderMode 枚举来扩展功能并修改外观和行为。

ToolStrip 控件高度可配置且可扩展,它提供许多属性、方法和事件来自定义外观和行为。 下面是一些值得注意的成员:

重要的 ToolStrip 成员

名称 描述
Dock 获取或设置将 ToolStrip 停靠到父容器的哪个边缘。
AllowItemReorder 获取或设置一个用于指示是否专门由 ToolStrip 类处理拖放和项重新排序操作的值。
LayoutStyle 获取或设置一个值,该值指示 ToolStrip 如何对项进行布局。
Overflow 获取或设置 ToolStripItem 是否附加到 ToolStripToolStripOverflowButton,或者是否可以在两者之间浮动。
IsDropDown 获取一个值,该值指示单击 ToolStripItemToolStripItem 是否在下拉列表中显示其他项。
OverflowButton 获取 ToolStripItem,它是启用了溢出的 ToolStrip 的“溢出”按钮。
Renderer 获取或设置用于自定义 ToolStrip 的外观和行为的 ToolStripRenderer
RenderMode 获取或设置要应用于 ToolStrip 的绘制样式。
RendererChanged Renderer 属性更改时引发。

ToolStrip 控件的灵活性是通过使用许多伴随类来实现的。 下面是一些最值得注意的类:

重要的 StatusStrip 伴随类

名称 描述
MenuStrip 替换 MainMenu 类并向其添加功能。
StatusStrip 替换 StatusBar 类并向其添加功能。
ContextMenuStrip 替换 ContextMenu 类并向其添加功能。
ToolStripItem 抽象基类,用于管理 ToolStripToolStripControlHostToolStripDropDown 可以包含的所有元素的事件和布局。
ToolStripContainer 提供一个容器,在窗体的每一侧都有一个面板,可以在其中以各种方式排列控件。
ToolStripRenderer 处理 ToolStrip 对象的绘制功能。
ToolStripProfessionalRenderer 提供 Microsoft Office 样式的外观。
ToolStripManager 控制 ToolStrip 的渲染和漂浮,以及 MenuStripToolStripDropDownMenuToolStripMenuItem 对象的合并。
ToolStripManagerRenderMode 指定应用于窗体中包含的多个 ToolStrip 对象的绘画样式(自定义、Windows XP 或 Microsoft Office Professional)。
ToolStripRenderMode 指定应用于窗体中的一个 ToolStrip 对象的绘画样式(自定义、Windows XP 或 Microsoft Office Professional)
ToolStripControlHost 托管其他控件,这些控件并非专门为 ToolStrip 控件设计,但你需要它们的 ToolStrip 功能。
ToolStripItemPlacement 指定是将 ToolStripItem 布局到主 ToolStrip 上,布局到溢出 ToolStrip 上,还是都不布局到这两者上面。

有关详细信息,请参阅 ToolStrip 技术摘要ToolStrip 控件体系结构

另请参阅