ToolStrip 控件概述(Windows 窗体)

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

尽管 ToolStrip 替换了并增加了以前版本控件的功能,但为了实现后向兼容性及可能的将来使用,仍保留了 ToolBar

ToolStrip 控件的功能特性

使用 ToolStrip 控件来:

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

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

  • 支持溢出和实时项目重新排序。 当 ToolStrip中没有足够空间显示这些项时,溢出功能会将它们移动到下拉菜单。

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

  • 统一处理所有容器和项目的事件,就像处理其他控件的事件一样。

  • 将项目从一个 ToolStrip 拖动到另一个 ToolStrip,或在同一个 ToolStrip内拖动。

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

使用 ToolStripControlHost 类在 ToolStrip 上使用其他控件,并为其获得 ToolStrip 功能。

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

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

重要 ToolStrip 成员

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

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

重要的 ToolStrip 相关类

名字 描述
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 控制体系结构

另请参阅