静态项被用于创建显示自定义文本和/或图像并且在视觉上不响应用户操作的 links。 意思是当鼠标指针停留在上面时,静态项的 links 不被高亮显示,并且当最终用户单击它们时也不改变其外观。 最普遍的是,把静态项用于构造状态栏。 但是,也可以把它们用于显示 bars 或上下文菜单中的附加信息。
任务
本主题中的示例创建了一个应用程序,它在状态栏内显示了当前被高亮显示的 link 的说明。 下面的插图展示了这个应用程序的外观。
起点
假设已经打开了一个 Windows 应用程序项目,在此项目中已经包含一个工具栏。 工具栏项的 BarItem.Description 属性必须被初始化。 工具栏项的 Descriptions 属性值将被显示在状态栏内。 下面的插图展示了一个应用程序初始外观的示例。 (展示了初始化 BarItem.Description 属性的方法)
实现
按照下列步骤来创建这个示例应用程序。
-
选中 BarManager 并单击 Click here to add StatusBar(单击此处添加状态栏) 按钮来新建一个状态栏。请参阅 使用按钮项 主题来获得关于创建和定制工具栏及工具栏项的细节。
译者注:有删除线的此条信息对于较高版本的 XtraBars 套件不适用。默认情况下,在把 BarManager 组件添加到窗体中之后,将自动新建三个 bars: 一个位于窗体顶部的主菜单栏、一个位于主菜单栏下面的工具栏、一个位于窗体底部的状态栏。如果不需要其中的某个 bar(例如工具栏),则可以选中它,然后按下 DELETE 键来删除它。如果要新建一个状态栏,则可以单击窗体设计器底部面板中的 BarManager 组件的智能标记,然后选择 Create StatusBar(新建状态栏) 项。 注意,如果窗体中已经有状态栏,则 Create StatusBar(新建状态栏) 项不可视。 -
在状态栏被创建之后,把它的 BarOptions.DrawSizeGrip 属性设置为 true,这样将会在状态栏内部显示大小调整手柄。 最终用户通过拖动大小调整手柄可以改变窗体的大小。
-
创建两个标题为空的静态项。 把第一个静态项的 BarStaticItem.AutoSize 属性设置为 BarStaticItemSize.Spring 值。 该项的 link 将填充状态栏内的全部空闲空间,状态栏也将被水平拉伸来填充窗体。
-
单击第二个 link,并把它的状态栏项的 BarStaticItem.Width 属性设置为 40。 但是,该 link 的宽度不会被改变,因为在在默认情况下,该项的宽度被自动修改以适合于其内容。 因此,必须把它的 BarStaticItem.AutoSize 属性设置为 BarStaticItemSize.None 值,来禁用此行为。 在修改此属性值之后,该 link 的宽度将变成由 BarStaticItem.Width 属性指定的 40 像素。
-
把第二个静态项的 BarStaticItem.LeftIndent 属性设置为 5,如下图所示。 这指定了该项的左缩进量。
-
选中 BarManager 来访问它的事件。 接管 BarManager.HighlightedLinkChanged 事件,实现在状态栏内显示上部工具栏中的 links 的说明。
C# 复制代码 using DevExpress.XtraBars; private void barManager1_HighlightedLinkChanged(object sender, HighlightedLinkChangedEventArgs e) { if (e.Link != null && e.Link.Bar != barStatus) barStatus.ItemLinks[0].Caption = e.Link.Item.Description; else barStatus.ItemLinks[0].Caption = ""; }
Visual Basic 复制代码 Imports DevExpress.XtraBars Private Sub BarManager2_HighlightedLinkChanged(ByVal sender As Object, _ ByVal e As HighlightedLinkChangedEventArgs) _ Handles BarManager2.HighlightedLinkChanged If Not e.Link Is Nothing Then If Not e.Link.Bar Is barStatus Then _ barStatus.ItemLinks(0).Caption = e.Link.Item.Description Else barStatus.ItemLinks(0).Caption = "" End If End Sub
-
运行此应用程序。 把鼠标指针停留在上部工具栏的 links 上。 它们的说明将被显示在状态栏中。