반응형
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보다 상단에 위치하네??
이걸 하단으로 넣는 방법은 뭐가 있을까?
반응형
'IT Study > C#' 카테고리의 다른 글
[C#] Null이 아니라 EventArgs.Empty를 사용하는 이유? (0) | 2021.05.27 |
---|---|
[C#] XML Convert to CSV (0) | 2021.03.13 |
[C#] 리플렉션(Reflection), 애트리뷰트(Attribute) (0) | 2021.03.04 |
[C#] 확장 메서드, 람다 (0) | 2021.01.25 |
[C#] 프로퍼티(Property), 익명 타입 (0) | 2021.01.25 |
댓글