본문 바로가기
기술자료 (KB)/Visual Studio

Visual Studio Windows Form 이해

by 이완주 2010. 3. 16.

Visual Studio는 자동으로 코드를 생성시켜주어 프로그래머가 사용자의 이벤트 (행위)가 발생하면 이벤트를 처리하는 내용을 넣는 것으로 간단하게 프로그래밍이 될 수 있다.

 

Visual Studio 구조 이해

Visual studio 구조를 이해하기 위해 간단한 윈도우 응용 프로그램을 만들어 이해하겠다.

 

 

화면 구성을 자유롭게 바꿀 수 있으며 보기 메뉴에서 필요한 메뉴만 표시 할 수 있다.

 

기본적으로 Form1 생성되며 해당 폼의 제목을 Form1에서 "폼 테스트"로 바꾸어 보겠다.

여기서는 속성 창에서 변경을 하고 실제 자동 코딩 되는 내용을 확인.

 

Ctrl + F5 로 결과를 확인 할 수 있다.

 

C#은 기본적으로 Main 메소드가 모든 프로그램의 시작으로 솔루션 탐색기에 Program.cs로 자동 생성 되어 있음을 확인 할 수 있다.

또한 Main() 에서 Application.Run(new Form1()); 폼 응용프로그램을 실행 시키는 것을 확인 할 수 있다.

 

Designer.cs 에서 위에 변경한 Form1의 text가 폼 테스트로 변경 되었음을 확인 할 수 있다.

 

이벤트 발생 및 확인

VS는 사용자의 행위(이벤트)를 처리하기 위한 프로그램으로 여러 가지 이벤트에 대한 정의를 할 수 있어야 한다.

여기서는 몇 가지 이벤트의 발생시 실행되는 경우를 확인해 보겠다.

 

첫 번째 예제로 폼이 실행되면 먼저 "반갑습니다". 라는 메시지 박스가 나타나는 예제

 

이벤트는 아래 속성 창에 번개 모양을 누르면 각 행위에 대한 정의가 되어 있다.

폼이 실행되면 "반갑습니다." 라는 메시지 박스가 나타나야 함으로 창이 Load 될 때 메시지 박스를 나타내면 된다.

 

자동으로 대부분의 코드가 생성되면 프로그램 창이 실행되면 아래와 같이 메시지 박스가 나오게 하면 됩니다.

즉 이벤트를 처리하는 구문이죠

MessageBox.Show("반갑습니다.");

 

 

폼의 이름 변경

여기서 잠깐. 폼 테스트의 Name이 Form1로 구성되어 있어서 Form1의 Load 즉 Form1_Load의 값에 대한 처리를 합니다.

 

만약 Form1의 이미 작성되어 있는 Form1의 이름을 frmTest로 변경하고자 한다면 어떻게 할까요. 물론 처음부터 변경하는 것이 가장 좋겠죠.

 

그럼 속성 창을 이용하여 폼의 이름을 변경해 보죠.


각 name을 변경하고자 할때는 기본적인 약속이 존재 합니다.

Form à frm, Lable à lbl, Text à txt 등 프로그램의 가독성의 이유로 약속된 약어를 사용하는 것을 권장합니다.

여기서는 Form1을 frmTest로 변경하죠.

여기는 자동으로 변경 되었네요.

 

이벤트 발생 시킨 곳은 변경이 되지 않았네요.

 

여기를 수동으로 변경해 보겠습니다.

가장 편한 방법은 안에 작성 코드를 복사해 놓고. 해당 부분을 지우고 다시 만드는 방법입니다.

제가 아는 유일한 방법이죠.. (어제 배운.. 여기 내용 어제 배운거 정리하는 거예요.)

사실 저도 프로그램 잘 모른답니다. 괜히 어제 배운거 가지고 정리하면서 아는척.. ㅎㅎ

실수 하더라도 이해를.. ㅎㅎ

 

아래 범위 지정한 것을 Del 키를 눌러 과감히 삭제 합니다.

 

그리고 F6키를 눌러 빌드를 하면 아래와 같이 오류가 나옵니다.

즉 For1_Load 값을 불러오는데 오류가 발생됨을 확인 할 수 있습니다.

그래서 이 부분도 역시 삭제

this.Load += new System.EventHandler(this.Form1_Load); ß 과감히 삭제

 

이제 이벤트가 없어졌네요.

다시 만들려면 load를 다시 눌러 만들면 새로운 바뀐이름으로 만들어 지게 됩니다.

댓글