728x90

출처 : http://blog.daum.net/modong518/84


간단한것인데 어려웠다. 으헝헝헝

인터넷에 검색을 해서 제일 그럴듯하게 찾았던 것이 Form1 -> Form2를 전환하기위해서

버튼을 누르면 Form1을 숨기고 Form2를 보여주는 방식이었는데

윈도우 Form이 많아지면 많아질 수록 꽁수는 들통이 나게 되어있었다 ㅠ_ㅠ

 

답은 여기에 있다 !

 

곰곰히 생각해보니 Form1에서 Form2를 부르게 되는 것은 상속을 통해 호출하는 것과 같으니

Form1 클래스에 Form2 객체를 하나 만들고 Form2를 부르게 되는곳에서 생성하면서 Show()함수를 통해 보여주면 된다. 주의할것은 이 Show함수는 Form1의 Show함수가 아니라 Form2의 객체 이름.Show()함수이다. 

 

 this.form2 = new Form2(this);
this.form2.Show();

 

그리고 나서 또 주의할것은 이 Form2를 닫게 되면 Form1은 남아있다는 것이다. 함께 닫게 하기 위해서 필요한 것이 있는데 바로 상위 Form1에서의 선언이다.

객체를 만들고 보여주기 전에 다음과 같이 선언한다. 이는 Form2가 닫혀지는 이벤트가 발생시에 Form1의

exit_Click이벤트를 발생시킨다. exit_Click이벤트에서는 this.Close() 함수만 호출하면 폼이 닫혀진다.

 

 this.form2.FormClosed += new FormClosedEventHandler(exit_Click);

 

정말 나와 같이 헤매는 학생들에게 도움이 되었으면 좋겠다. 아악 ㅜㅜ 힘내자 +_+ !

 

블로그 이미지

Link2Me

,