首先新建一个ribbon base application
新建完成后是这个样子
然后我们为了直观的显示,将这一个ribbonpage delete掉
接下来就是上代码了
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraBars;
namespace DXApplication3
{
public partial class Form1 : DevExpress.XtraBars.Ribbon.RibbonForm
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Create a Ribbon page.
RibbonPage page1 = new RibbonPage("Home");
// Create a Ribbon page group.
RibbonPageGroup group1 = new RibbonPageGroup("File");
// Create another Ribbon page group.
RibbonPageGroup group2 = new RibbonPageGroup("File 2");
// Create a button item using the CreateButton method.
// The created item is automatically added to the item collection of the RibbonControl.
BarButtonItem itemOpen = ribbonControl1.Items.CreateButton("Open...");
itemOpen.ImageIndex = 0;
itemOpen.Id = ribbonControl1.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemOpen.ItemClick += new ItemClickEventHandler(itemOpen_ItemClick);
// Create a button item using its constructor.
// The constructor automatically adds the created item to the RibbonControl's item collection.
BarButtonItem itemClose = new BarButtonItem(ribbonControl1.Manager, "Close");
itemClose.ImageIndex = 1;
itemClose.Id = ribbonControl1.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemClose.ItemClick += new ItemClickEventHandler(itemClose_ItemClick);
// Create a button item using the default constructor.
BarButtonItem itemPrint = new BarButtonItem();
// Manually add the created item to the item collection of the RibbonControl.
ribbonControl1.Items.Add(itemPrint);
itemPrint.Caption = "Print";
itemPrint.ImageIndex = 2;
itemPrint.Id = ribbonControl1.Manager.GetNewItemId(); //Ensures correct runtime layout (de)serialization.
itemPrint.ItemClick += new ItemClickEventHandler(itemPrint_ItemClick);
// Add the created items to the group using the AddRange method.
// This method will create bar item links for the items and then add the links to the group.
group1.ItemLinks.AddRange(new BarItem[] { itemOpen, itemClose, itemPrint });
// Add the Open bar item to the second group.
group2.ItemLinks.Add(itemOpen);
// Add the created groups to the page.
page1.Groups.Add(group1);
page1.Groups.Add(group2);
// Add the page to the RibbonControl.
ribbonControl1.Pages.Add(page1);
//...
}
void itemPrint_ItemClick(object sender, ItemClickEventArgs e)
{
//...
}
void itemClose_ItemClick(object sender, ItemClickEventArgs e)
{
//...
}
void itemOpen_ItemClick(object sender, ItemClickEventArgs e)
{
//...
}
}
}
接下来就ok了
其实这种方法大家看着没有啥用(通过拖拽更加方便快捷),但是这样的一个好处就是可以进行模块化的设计,让程序更容易维护和具备更大的扩展性。
ps:(有的vs 2017 加DEV 18.1可能会报outpath的错---删除license.licx就可以解决)