
컴퓨터에서 흔히 볼 수 있는 계산기, 메모장 같은 프로그램을
한 번쯤 "나도 만들어보고 싶다..."라고 생각해 본 적 없으신가요?
이번 글에서는 나만의 윈도우 데스크톱 애플리케이션을 만들 수 있게 도와주는,
Windows Forms(윈폼)에 대해 쉽고 재미있게 알아보려고 합니다.
Windows Forms는 마이크로소프트에서 개발한
윈도우용 데스크톱 애플리케이션을 쉽게 만들 수 있도록 도와주는
그래픽 사용자 인터페이스(GUI) 프레임워크입니다.
용어가 조금 어렵게 느껴지시나요? 쉽게 풀어보죠!
마치 레고 블록을 조립해서 멋진 성을 만드는 것과 같아요.
Windows Forms는 우리에게 '버튼', '상자', 같은
다양한 레고 블록(컨트롤)을 제공해 줍니다.
우리는 이 블록들을 '판'(폼) 위에 끌어다 놓고 조립해서
하나의 완성된 프로그램을 만들 수 있는 거죠.
윈폼을 만드는 방법은 간단합니다.
새 프로젝트를 생성하고 다음과 같은 템플릿을 선택하세요.

Windows Forms 앱:
.NET Core의 후속 버전으로, 최신 .NET 플랫폼을 중심으로 계속 업데이트되고 있습니다.
새로운 프로젝트를 시작한다면 'Windows Forms 앱'을 선택하는 것이 좋습니다.
성능상의 이점과 마이크로소프트의 지속적인 지원을 받을 수 있습니다.
Windows Forms 앱(.NET Framework):
오래전부터 사용되어 온 안정적인 플랫폼입니다.
더 이상 새로운 기능은 추가되지 않습니다. (보안 업데이트는 계속됨)
오래된 기존 애플리케이션을 유지 관리할 때 주로 사용됩니다.
윈폼이 왜 초보자에게 매력적인지, 핵심 특징을 통해 알아볼게요.
윈폼의 가장 큰 매력은 바로 비주얼 디자이너(Visual Designer)입니다.
코드를 한 줄 한 줄 쳐서 버튼의 위치를 x=100, y=150처럼 정하는 게 아니에요.
비주얼 스튜디오의 '도구 상자'에서 원하는 컨트롤(버튼, 텍스트 박스 등)을
마우스로 쭉 끌어서 화면에 놓기만 하면 끝! 정말 직관적이죠?
이 덕분에 디자인과 코드가 분리되어 개발 속도가 매우 빠릅니다.
이런 방식을 RAD(Rapid Application Development),
즉 '빠른 응용 프로그램 개발'이라고 부르기도 해요.
윈폼 프로그램은 가만히 있다가 사용자의 행동에 '반응'해서 동작합니다.
이걸 '이벤트 기반 프로그래밍'이라고 해요.
비유하자면, 자판기와 같아요. 자판기는 누가 버튼을 누르기 전까지는 가만히 있죠?
그러다 사용자가 '콜라' 버튼을 (클릭)하면, 그제야 콜라를 내주는 (동작)을 합니다.
윈폼도 마찬가지예요.
이벤트 발생)이벤트 핸들러)다음은 helloButton이라는 버튼을 클릭했을 때 메시지 상자를 띄우는 간단한 예제입니다.
// HelloButton을 클릭했을 때 호출될 메서드(이벤트 핸들러)
private void HelloButton_Click(object sender, EventArgs e)
{
// "안녕하세요, 윈폼!"이라는 메시지 박스를 화면에 보여줍니다.
MessageBox.Show("Hello, 윈폼!");
}
- 실행 결과
윈폼은 대부분의 기능을 '컨트롤'이라는 특수한 블록 형태로 제공합니다.
| 컨트롤(Control) | 설명 |
|---|---|
Button | 사용자가 클릭할 수 있는 버튼 |
Label | 정보를 표시하는 텍스트 |
TextBox | 사용자가 텍스트를 입력할 수 있는 상자 |
CheckBox | 여러 옵션을 선택(체크)할 수 있는 상자 |
ComboBox | 목록에서 항목을 선택하는 드롭다운 메뉴 |
PictureBox | 이미지를 표시하는 공간 |
이 외에도 수많은 컨트롤이 준비되어 있어서,
복잡한 기능도 비교적 손쉽게 구현할 수 있답니다.
요즘에는 WPF, MAUI 등 더 새롭고 세련된 기술들도 있습니다.
그렇지만 Windows Forms는 여전히 많은 곳에서 사용되고 있고,
무엇보다 GUI 프로그래밍를 배우기 쉬운 도구 중 하나랍니다.