비쥬얼 스튜디오에서 새로운프로젝트를 만들때에 다양한 템플릿을 제공한다. 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은 작성하는 애플리케이션을 의미하는 클래스이다.
소스코드의 핵심이 되는 Form1 클래스는 Form1.cs와 Form1.Designer.cs에 부분 클래스(partical class)로 나누어 정의되어 있다. Form1. 클래스는 Form 클래스를 상속하며, 객체가 생성될때 실행되는 생성자 메서드가 정의되어 있다. 생성자는 InitializeComponent() 메서드를 호출하여 폼에서 사용하는 각종 컴포넌트와 클래스의 멤버를 위한 초기화 작업을 수행한다.
다음 소스코드는 Form1.Designer.cs의 일부분이다. 12번째 줄에 Form1.cs에서 호출하는 InitailizeComponent() 메서드가 정의되어있다.
Form1.Designer.cs의 파일 내용은 현재 편집 중인 폼에 새로운 컴포넌트를 추가하거나 삭제할때, 그리고 컴포넌트의 프로퍼티나 이벤트의 값을 변경하면 자동으로 변경된다. 그러므로 이 파일의 내용을 우리가 건드리지 않는 것이 스트레스로부터 우리를 지키는 하나의 방법이라 볼 수 있다.
'개발자과정준비 > WinForm' 카테고리의 다른 글
[Winform] 윈폼 복습 3. Form 클래스와 두 개의 폼 띄우기 (1) | 2020.08.21 |
---|---|
[Winform] 윈폼 복습 2. MouseLeave, MouseMove, DoubleClick 이벤트 (0) | 2020.08.20 |
[Winform] 윈폼 템플릿 없이 윈폼 프로그램을 만드는 방법 (0) | 2020.08.19 |
[WinForm] 윈폼 소코반 만들기(푸쉬푸쉬 게임 만들기) (0) | 2020.07.20 |
[WinForm] 윈폼과 DB연동 - 북렌탈샵 (0) | 2020.07.14 |