Link 是呈现工具栏或菜单栏中 bar item 的对象 (bar items 决不会在屏幕上显示)。 可以创建多个指向同一个 bar item 的 links,并且可以把它们放置到不同的 bars 和菜单中。 单击其中的任一个 link 都将调用相同的 bar item 的功能。 在默认情况下,所有 links 都使用由相应 bar item 对象提供的显示设置。 但是,如果需要,则可以改写个别 links 的这些设置。 本主题展示个别 links 的哪些设置可以被改写。
定制 Link 的默认设置
在设计时刻可以通过“属性”窗口定制 items。 要在“属性”窗口中显示 item 的设置,可以:
- 在“自定义”窗口的 Commands(命令) 页面或编辑器中选中相应的元素 (请参阅 Bar 管理器 文档获得关于“自定义”窗口和编辑器的信息)。
- 在“属性”窗口中选中要查看的对象
- 在工具栏或菜单栏中单击 item 对应的 link
为 Links 提供自定义显示设置
Link 对象提供了下列属性,可用于改写 item 的默认设置:
- BarItemLink.UserCaption,若设置,则改写 BarItem.Caption 设置。
- BarItemLink.UserPaintStyle,若设置,则改写 BarItemLink.PaintStyle 设置。
- BarItemLink.UserWidth,若设置,则改写 BarEditItem.Width 设置。
- BarItemLink.UserGlyph,若设置,则改写 BarItem.Glyph 设置
- BarItemLink.ImageIndex 改写 BarItem.ImageIndex 设置。 在默认情况下,这些属性的值相匹配。 修改 item 的 BarItem.ImageIndex 值会自动影响其 link 的 BarItemLink.ImageIndex 值。
在代码可以任意使用这些选项来提供 links 的自定义设置。
注意 |
---|
当正在加载窗体时(例如在 Form.Load 事件处理程序中),要确保安全访问 links,则需要先调用 BarManager.ForceInitialize 方法。 仅当访问在设计时刻创建的 links 时,才使用此方法。 |
在设计时刻,使用上下文菜单可以为 link 提供自定义的标题和绘制样式。 要激活此菜单,则使用鼠标右键单击所需的 link:
Change User Caption(修改用户标题) 选项允许为 link 提供自定义标题。 要提供自定义绘制样式,则在菜单中勾选所需的项 (Default Style - 默认样式、 Text Only (Always) - 仅文本(始终) 、 Text Only (In Menus) - 在菜单中只用文字 或 Image and Text - 图像和文本)。
Link 的 BarItemLink.UserDefine 属性呈现了一组标志,指示用于绘制的 BarItemLink.UserCaption、BarItemLink.UserPaintStyle、BarItemLink.UserWidth 和/或 BarItemLink.UserGlyph 属性是否被设置。 当 link 的相应属性被赋值时,这些标志被自动设置。 可以清除特定的标志来阻止 link 的设置被使用。 在这种情况下,将使用 item 的设置来绘制 link。
示例
下面的示例展示了如何创建和定制一个 item 及其 links。
在本例中,创建了一个 BarButtonItem 项。 然后,此 item 的两个 links 被分别添加到 bar 和子菜单中。 为第二个 link 指定了自定义标题。 第一个 link 则使用 item 的默认标题。
C# | 复制代码 |
---|---|
//A bar manager providing the XtraBars functionality BarManager bManager; //Initialize the bManager object //...bManager = barManager1; //Create an item, add it to the bar manager's item collection BarItem item = new BarButtonItem(bManager, "New"); //Set the bar item's ID to allow the bar's layout to be saved and restored correctly item.Id = bManager.GetNewItemId(); //A bar to which the item will be added Bar bar1; //Initialize the bar1 object //...bar1 = toolBar1; //A submenu to which the item will be added BarSubItem subMenu1; //Initialize the subMenu1 object //...subMenu1 = mFile; //Create a link to the item within the bar BarItemLink link1 = bar1.AddItem(item); //Create another link to the item within the submenu BarItemLink link2 = subMenu1.AddItem(item); //Change the second link's caption link2.UserCaption = "Create File..."; |
Visual Basic | 复制代码 |
---|---|
'A bar manager providing the XtraBars functionality Dim bManager As BarManager 'Initialize the bManager object '...bManager = barManager1 'Create an item, add it to the bar manager's item collection Dim item As BarItem = New BarButtonItem(bManager, "New") 'Set the bar item's ID to allow the bar's layout to be saved and restored correctly item.Id = bManager.GetNewItemId() 'A bar to which the item will be added Dim bar1 As Bar 'Initialize the bar1 object '...bar1 = toolBar1 'A submenu to which the item will be added Dim subMenu1 As BarSubItem 'Initialize the subMenu1 object '...subMenu1 = mFile 'Create a link to the item within the bar Dim link1 As BarItemLink = bar1.AddItem(item) 'Create another link to the item within the submenu Dim link2 As BarItemLink = subMenu1.AddItem(item) 'Change the second link's caption link2.UserCaption = "Create File..." |
由最终用户定制 Link 的内容
在运行时刻要允许最终用户定制 links,则 BarManager.AllowCustomization 属性必须被设置为 true。 参阅 最终用户功能: 使用上下文菜单 来学习更多内容。