프로그래밍/C,C++

[C#] 폼 띄우기

chance 2013. 9. 12. 18:51

1. 폼에서 폼 띄우기( show new Form )
폼외부에 폼을 띄우는건 dialog나 새로운 윈도우로 show 해주면된다.
ex)
MyForm form = new MyForm();
    form.StartPosition = FormStartPosition.Manual;
    form.Location = new Point( 0, 0 );
    form.Show();

2. 폼 내부에 폼 띄우기( show MDI Form )
mdi 폼도 별차이가 있는건 아니고, Show하기 전에 플래그만 설정해주면 된다.
ex)
ParentForm.IsMdiContainer = true;
    MyForm form = new MyForm();
    form.MdiParent = ParentForm;
    form.Show();

3. 다른 컨트롤 안에 폼 띄우기
폼도 컨트롤을 상속받은 녀석이라 다른 콘트롤안에 포함시킬수 있다.
폼은 기본적으로 TopLevel 속성이 true로 설정되어 동작하는데, 이를 false로 바꿔주면
다른 컨트롤에 포함될 수 있다.
ex)
MyForm form = new MyForm();
    form.TopLevel = false;

    // 컨트롤에 추가한다.
    MyPanel.Controls.Add( form );
    form.Show();

* 차일드 포지션 변경
Show() 호출 이후에 form.Location = new Point( 0, 0 );

Show() 호출전 포지션을 지정하려면, 시작위치를 수동(manual)으로
설정할 것이라고 알려주어야 한다.
form.StartPosition = FormStartPosition.Manual;