본문 바로가기
C#/DevExpress

DevExpress / Winform 탭 그룹을 생성합니다.

by HyunS_ 2019. 6. 16.
728x90

DevExpress로 탭 그룹을 생성하는 코드 입니다.

 

탭 그룹 생성 예제

 

using System.Windows.Forms;

using DevExpress.XtraEditors;
using DevExpress.XtraLayout;

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

        #region MainForm() - 생성자 입니다.

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

            CreateTabGroup();

            #region 이벤트를 설정합니다.

            #endregion
        }

        #endregion

        #region CreateTabGroup() - 탭 그룹을 생성합니다.

        /// <summary>
        /// 탭 그룹을 생성합니다.
        /// </summary>
        private void CreateTabGroup()
        { 
            LayoutControl layoutControl = new LayoutControl();

            layoutControl.Dock = DockStyle.Fill;
            this.Controls.Add(layoutControl);

            layoutControl.BeginUpdate();

            try
            {
                // 루트 그룹에 탭 그룹을 생성합니다.
                TabbedControlGroup tabbedGroup = layoutControl.Root.AddTabbedGroup();
                tabbedGroup.Name = "TabbedGroup";

                // 하나의 탭에 사진 그룹을 추가합니다.
                LayoutControlGroup groupImage = tabbedGroup.AddTabPage() as LayoutControlGroup;
                groupImage.Name = "layoutGroupPhoto";
                groupImage.Text = "Photo";

                // 이미지 그룹에 이미지가 출력되도록 레이아웃 아이템을 추가합니다.
                LayoutControlItem layoutItemImage = groupImage.AddItem();
                layoutItemImage.Name        = "layoutItemPhoto";
                layoutItemImage.Control     = new PictureEdit(){ Name = "pictureEdutPhoto"};
                layoutItemImage.TextVisible = false;

                // 하나의 탭에 노트 그룹을 추가합니다.
                LayoutControlGroup groupNotes = tabbedGroup.AddTabPage() as LayoutControlGroup;
                groupNotes.Name = "layoutGroupNotes";
                groupNotes.Text = "Notes";

                // 노트 그룹에 노트가 출력되도록 레이아웃 아이템을 추가합니다.
                LayoutControlItem layoutItemNotes = groupNotes.AddItem();
                layoutItemNotes.Name        = "layoutItemNotes";
                layoutItemNotes.Control     = new MemoEdit(){ Name = "memoEditNotes"};
                layoutItemNotes.TextVisible = false;

                // 첫번째 탭이 출력됩니다.
                tabbedGroup.SelectedTabPage = groupImage;
            }
            finally
            {
                layoutControl.EndUpdate();
            }

        }

        #endregion
    }
}
728x90

댓글