C#/WindowForm
C# 두개의 폼 띄우기
hyun0229
2022. 3. 30. 01:25
첫번째 폼이다.
아래는 첫번째 폼의 코드이다
namespace _016
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.ClientSize = new System.Drawing.Size(500, 500); //폼1의 크기
button1.Width = 100; //버튼의 가로
button1.Height = 50; //버튼의 세로
button1.Location = new System.Drawing.Point(500 / 2 - button1.Width / 2, 500 / 2 - button1.Height / 2);
button1.Text = "Form2 생성";
}
private void button1_Click(object sender, EventArgs e)
{
Form f2 = new Form2();//f2는 Form2임
this.AddOwnedForm(f2); //f2를 이 폼에 포함시킴
f2.Show(); //f2를 보여줌
}
}
}
2번째 폼
namespace _016
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
button1.Width = 150;
button1.Text = "Close Form2";
button1.Location = new Point(this.ClientSize.Width / 2 - button1.Width / 2, this.ClientSize.Height / 2 - button1.Height / 2);
}
private void Form2_Load(object sender, EventArgs e)
{
CenterToParent(); //부모의 중앙에 로드됨
}
private void button1_Click(object sender, EventArgs e)
{
this.Close(); //2번째 폼을 종료
}
}
}
this.AddOwnedForm(f2)를 사용하지 않을 경우 CenterToParent()의 부모가 없어 적용되지 않는다.
실행결과
Close Form2를 누를경우 2번째 폼만 종료된다.