본문 바로가기
C#/DevExpress

DevExpress / Winform Ribbon Control 생성하기.

by HyunS_ 2019. 5. 24.

Ribbon Control을 생성합니다.

 

Ribbon Control  생성 예제

 

MainForm.cs 입니다.

using System.Windows.Forms;

using DevExpress.XtraBars;
using DevExpress.XtraBars.Ribbon;

namespace WindowsFormsApp2
{
    /// <summary>
    /// 메인폼 클래스 입니다.
    /// </summary>
    public partial class MainForm : Form
    {
        // Constructor (Public)

        #region MainForm()

        /// <summary>
        /// 메인폼 생성자 입니다.
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            #region 리본 컨트롤을 생성합니다.

            RibbonControl ribbonControl = new RibbonControl();

            this.Controls.Add(ribbonControl);

            ribbonControl.Images = this.imageCollection1;

            RibbonPage ribbonPage1 = new RibbonPage("Home");

            RibbonPageGroup ribbonPageGroup1 = new RibbonPageGroup("Group1");
            RibbonPageGroup ribbonPageGroup2 = new RibbonPageGroup("Group2");

            BarButtonItem itemOpen = ribbonControl.Items.CreateButton("Open");
            itemOpen.ImageIndex = 0;
            itemOpen.Id = ribbonControl.Manager.GetNewItemId();

            BarButtonItem itemClose = new BarButtonItem();

            ribbonControl.Items.Add(itemClose);
            itemClose.Caption    = "Close";
            itemClose.ImageIndex = 1;
            itemClose.Id = ribbonControl.Manager.GetNewItemId();

            BarButtonItem itemPrint = new BarButtonItem();

            ribbonControl.Items.Add(itemPrint);
            itemPrint.Caption    = "Print";
            itemPrint.ImageIndex = 2;
            itemPrint.Id = ribbonControl.Manager.GetNewItemId();

            ribbonPageGroup1.ItemLinks.AddRange(new BarItem[] { itemOpen, itemClose, itemPrint });
            ribbonPageGroup2.ItemLinks.Add(itemOpen);

            ribbonPage1.Groups.Add(ribbonPageGroup1);
            ribbonPage1.Groups.Add(ribbonPageGroup2);

            ribbonControl.Pages.Add(ribbonPage1);
            
            #endregion

            #region 이벤트 동작 입니다.

            itemOpen.ItemClick  += itemOpen_ItemClick;
            itemClose.ItemClick += itemClose_ItemClick;
            itemPrint.ItemClick += itemPrint_ItemClick;

            #endregion
        }

        #endregion

        #region itemOpen_ItemClick(sender, e)

        /// <summary>
        /// 열기 아이템 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void itemOpen_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show(e.Item.ToString());
        }

        #endregion
        #region itemOpen_ItemClick(sender, e)

        /// <summary>
        /// 닫기 아이템 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void itemClose_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show(e.Item.ToString());
        }

        #endregion
        #region itemOpen_ItemClick(sender, e)

        /// <summary>
        /// 프린트 아이템 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void itemPrint_ItemClick(object sender, ItemClickEventArgs e)
        {
            MessageBox.Show(e.Item.ToString());
        }

        #endregion
    }
}
728x90

댓글