■ BarManager 클래스 : MDI 병합하기
------------------------------------------------------------------------------------------------------------------------
▶ ChildForm.cs
using DevExpress.XtraEditors;
namespace TestProject { /// <summary> /// 자식 폼 /// </summary> public partial class ChildForm : XtraForm { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - ChildForm()
/// <summary> /// 생성자 /// </summary> public ChildForm() { InitializeComponent(); }
#endregion } }
|
▶ MainForm.cs
using System; using System.Drawing;
using DevExpress.XtraBars; using DevExpress.XtraEditors;
namespace TestProject { /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : XtraForm { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent();
Load += Form_Load; this.barManager.Merge += barManager_Merge; this.barManager.UnMerge += barManager_UnMerge; }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary> /// 폼 로드시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_Load(object sender, EventArgs e) { ChildForm form1 = new ChildForm();
form1.MdiParent = this; form1.Text = "툴바 자식 폼 1";
form1.Show();
XtraForm form2 = new XtraForm();
form2.MdiParent = this; form2.Size = new Size(400, 300); form2.Text = "자식 폼 1";
form2.Show();
ChildForm form3 = new ChildForm();
form3.MdiParent = this; form3.Text = "툴바 자식 폼 2";
form3.Show(); }
#endregion #region 바 관리자 병합시 처리하기 - barManager_Merge(sender, e)
/// <summary> /// 바 관리자 병합시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void barManager_Merge(object sender, BarManagerMergeEventArgs e) { BarManager barManager = sender as BarManager;
barManager.BeginUpdate();
if(e.ChildManager.Form is ChildForm) { Bar parentToolBar1 = new Bar() { BarName = "ParentToolBar1", Text = "ParentToolBar1", DockStyle = BarDockStyle.Top, DockRow = barManager.Bars["ToolBar"].DockRow, DockCol = 2 };
Bar parentToolBar2 = new Bar() { BarName = "ParentToolBar2", Text = "ParentToolBar2", DockStyle = BarDockStyle.Top, DockRow = barManager.Bars["ToolBar"].DockRow, DockCol = 3 };
barManager.Bars.AddRange(new Bar[] { parentToolBar1, parentToolBar2 });
barManager.Bars["ParentToolBar1"].Merge(e.ChildManager.Bars["ToolBar1"]); barManager.Bars["ParentToolBar2"].Merge(e.ChildManager.Bars["ToolBar2"]);
barManager.StatusBar.Merge(e.ChildManager.StatusBar); }
barManager.EndUpdate(); }
#endregion #region 바 관리자 병합 취소시 처리하기 - barManager_UnMerge(sender, e)
/// <summary> /// 바 관리자 병합 취소시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void barManager_UnMerge(object sender, BarManagerMergeEventArgs e) { BarManager barManager = sender as BarManager;
barManager.BeginUpdate();
if(e.ChildManager.Form is ChildForm) { barManager.Bars["ParentToolBar1"].UnMerge(); barManager.Bars["ParentToolBar2"].UnMerge();
barManager.Bars["ParentToolBar1"].Dispose(); barManager.Bars["ParentToolBar2"].Dispose();
barManager.StatusBar.UnMerge(); }
barManager.EndUpdate(); }
#endregion } }
|
------------------------------------------------------------------------------------------------------------------------
'DevExpress > WinForm' 카테고리의 다른 글
[DEVEXPRESS/WINFORM] GanttControl 클래스 : 간트 차트 만들기 (0) | 2020.03.02 |
---|---|
[DEVEXPRESS/WINFORM] RibbonControl 클래스 : 페이지 헤더 영역에 버튼 추가하기 (0) | 2020.03.01 |
[DEVEXPRESS/WINFORM] ImagesAssemblyImageList 클래스 : 내장 아이콘 구하기 (0) | 2020.03.01 |
[DEVEXPRESS/WINFORM] SplashScreenManager 클래스 : ShowOverlayForm 메소드를 사용해 오버레이 폼 표시하기 (0) | 2020.02.27 |
[DEVEXPRESS/WINFORM] TabForm 클래스 : 웹 브라우저 만들기 (0) | 2020.02.27 |
[DEVEXPRESS/WINFORM] BarManager 클래스 : MDI 병합하기 (0) | 2020.02.26 |
[DEVEXPRESS/WINFORM] BarManager 클래스 : 바 항목 링크 추가하기 (0) | 2020.02.25 |
[DEVEXPRESS/WINFORM] BarManager 클래스 : 바 항목 추가하기 (0) | 2020.02.25 |
[DEVEXPRESS/WINFORM] BarManager 클래스 : 바 관리자 생성하기 (0) | 2020.02.25 |
[DEVEXPRESS/WINFORM] CheckedComboBoxEdit 클래스 : 열거형 값 표시하기 (0) | 2020.02.24 |
[DEVEXPRESS/WINFORM] ListBoxControl 클래스 : MeasureItem 이벤트를 사용해 특정 항목 높이 설정하기 (0) | 2020.02.24 |
댓글을 달아 주세요