본문 바로가기
IT Study/C#

[C#] MDI (Multiple Document Interface)

by dev_huhu 2021. 3. 13.
반응형

MDI

: SDI와는 달리 폼 안에 여러 Child Form을 가지는 형태.

- C# 에서는 MdiParent를 통해 Parent Form과 Child Form을 연결하는 메서드를 지원한다.


MDI 자식 양식 정렬

- LayoutMdi 메서드의 인수로 MdiLayout 열거형 값을 사용하여 MDI 부모 폼에서 자식 폼을 정렬할 수 있다.

 

- 계단식 정렬 (MdiLayout.Cascade)

 

- 수평 정렬 (MdiLayout.TileHorizontal)

 

- 수직 정렬 (MdiLayout.TileVertical)


코드

- Form1.cs (MDI 부모 폼)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MDIForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 Child = new Form2();
            Child.MdiParent = this;
            Child.Show();
        }

        private void CasecadeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.Cascade);
        }

        private void HorizontalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileHorizontal);
        }

        private void VerticalToolStripMenuItem_Click(object sender, EventArgs e)
        {
            LayoutMdi(MdiLayout.TileVertical);
        }
    }
}

 

- Form2.cs (MDI 자식 폼)

using System.Windows.Forms;

namespace MDIForm
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
    }
}

간단하게 만들어봤는데 Mdi 부모 폼에 있는 Button Control이 Child Form보다 상단에 위치하네??

이걸 하단으로 넣는 방법은 뭐가 있을까?

반응형

댓글