본문으로 바로가기
반응형

비쥬얼 스튜디오에서 새로운프로젝트를 만들때에 다양한 템플릿을 제공한다. C#으로 만드는 윈도우 애플리케이션 프로그램은 크게 콘솔앱(코딩할때 쓰던거), Windows Forms앱, WPF앱 등의 3가지 템플릿을 사용하여 만든다.

 

Windows Forms 앱은 WinForm(윈폼)이라고하며, 윈도우즈 운영체제에서 사용하는 메모장이나 계산기 프로그램과 같이 그래픽 사용자 인터페이스(GUI, Graphical User Interface)를 사용하고 마우스나 키보드 입력에 따라 반응하는 응용 프로그램이다. Visual Studio에서 윈폼 프로젝트 생성 방법과 윈폼 애플리케이션에서 가장 핵심인 폼 클래스와 컨트롤 클래스에 관한 내용을 알아보자.

 

우선 비쥬얼 스튜디오를 실행해서 Windows Forms앱으로 프로젝트를 구성해준다.

 

 

 

우선 만들기를 누르면 아래 이미지와 같은 화면이 뜰 것이다. 잠시 솔루션 탐색기를 살펴보자. 필자는 왼쪽에 탭으로 존재한다.

첫 화면

 

 

 

솔루션 탐색기

- Properties 폴더 : 프로젝트 설정에 관련된 여러 파일 포함

- App.config : .NET 프레임워크의 버전 등 프로젝트 구성을 설정하는 XML 파일

- Forms1.cs : 윈폼 응용 프로그램의 C# 소스파일

- Form1.Designer.cs : 폼 디자인 정의를 포함하는 C# 소스파일

- program.cs : 윈폼 응용 프로그램의 시작점을 포함하는 C# 소스파일

 

Program.cs의 static class Program에는 응용 프로그램의 시작점인 Main() 메서드가 정의되어 있다. Main() 메서드는 Application 클래스의 정적 메서드인 RUN()을 호출하여 new Form1()을 실행함으로써 응용 프로그램을 실행시킨다. 여기서 Form1은 작성하는 애플리케이션을 의미하는 클래스이다.

솔루션 탐색기에서 Program.cs 를 더블클릭했을때 나오는 화면

 

 

 

소스코드의 핵심이 되는 Form1 클래스는 Form1.cs와 Form1.Designer.cs에 부분 클래스(partical class)로 나누어 정의되어 있다. Form1. 클래스는 Form 클래스를 상속하며, 객체가 생성될때 실행되는 생성자 메서드가 정의되어 있다. 생성자는 InitializeComponent() 메서드를 호출하여 폼에서 사용하는 각종 컴포넌트와 클래스의 멤버를 위한 초기화 작업을 수행한다.

 

솔루션 탐색기에서 Form1.cs 을 더블 클릭 했을때의 화면

 

 

다음 소스코드는 Form1.Designer.cs의 일부분이다. 12번째 줄에 Form1.cs에서 호출하는 InitailizeComponent() 메서드가 정의되어있다.

Form1.cs에서 디자이너를 눌러서 확인해보자

 

Form1.Designer.cs의 파일 내용은 현재 편집 중인 폼에 새로운 컴포넌트를 추가하거나 삭제할때, 그리고 컴포넌트의 프로퍼티나 이벤트의 값을 변경하면 자동으로 변경된다. 그러므로 이 파일의 내용을 우리가 건드리지 않는 것이 스트레스로부터 우리를 지키는 하나의 방법이라 볼 수 있다.

 

 

반응형