下面的示例演示了如何自定义 RibbonControl 的自定义菜单。 RibbonControl.ShowCustomizationMenu 事件被接管,来添加一个自定义的 About 菜单项。

结果如下图所示:

C#CopyCode image复制代码
using DevExpress.XtraBars;
using DevExpress.XtraBars.Ribbon;

// The item to be added to the Customization Menu
BarItem biAbout;
// Initialize the item and add it to the RibbonControl's item collection.
private void Form1_Load(object sender, EventArgs e) {
    biAbout = new BarButtonItem();
    biAbout.Caption = "About";
    biAbout.ItemClick += new ItemClickEventHandler(biAbout_ItemClick);
    ribbonControl1.Items.Add(biAbout);
}
// The method invoked when the item is clicked.
void biAbout_ItemClick(object sender, ItemClickEventArgs e) {
    MessageBox.Show("About");
}

BarItemLink biAboutLink = null;
// Add the item to the Customization Menu.
private void ribbonControl1_ShowCustomizationMenu(object sender, 
  RibbonCustomizationMenuEventArgs e) {
    if (biAboutLink == null) {
        biAboutLink = e.CustomizationMenu.AddItem(biAbout);
    }
}
Visual BasicCopyCode image复制代码
Imports DevExpress.XtraBars

' The item to be added to the Customization Menu
Dim biAbout As BarItem
' Initialize the item and add it to the RibbonControl's item collection.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
  Handles MyBase.Load
    biAbout = New BarButtonItem()
    biAbout.Caption = "About"
    AddHandler biAbout.ItemClick, AddressOf biAbout_ItemClick
    RibbonControl1.Items.Add(biAbout)
End Sub

' The method invoked when the item is clicked.
Private Sub biAbout_ItemClick(ByVal sender As System.Object, _
  ByVal e As DevExpress.XtraBars.ItemClickEventArgs)
    MessageBox.Show("About")
End Sub

Dim biAboutLink As BarItemLink = Nothing
' Add the item to the Customization Menu.
Private Sub RibbonControl1_ShowCustomizationMenu(ByVal sender As System.Object, _
  ByVal e As DevExpress.XtraBars.Ribbon.RibbonCustomizationMenuEventArgs) _
  Handles RibbonControl1.ShowCustomizationMenu
    If biAboutLink Is Nothing Then
        biAboutLink = e.CustomizationMenu.AddItem(biAbout)
    End If
End Sub