[로봇활용_15주차] C# Windows Forms

최윤호·2025년 11월 12일
post-thumbnail

윈도우 앱, 레고처럼 조립하기

컴퓨터에서 흔히 볼 수 있는 계산기, 메모장 같은 프로그램을
한 번쯤 "나도 만들어보고 싶다..."라고 생각해 본 적 없으신가요?
이번 글에서는 나만의 윈도우 데스크톱 애플리케이션을 만들 수 있게 도와주는,
Windows Forms(윈폼)에 대해 쉽고 재미있게 알아보려고 합니다.

1)Windows Forms이란?

Windows Forms는 마이크로소프트에서 개발한
윈도우용 데스크톱 애플리케이션을 쉽게 만들 수 있도록 도와주는
그래픽 사용자 인터페이스(GUI) 프레임워크입니다.

용어가 조금 어렵게 느껴지시나요? 쉽게 풀어보죠!

마치 레고 블록을 조립해서 멋진 성을 만드는 것과 같아요.
Windows Forms는 우리에게 '버튼', '상자', 같은
다양한 레고 블록(컨트롤)을 제공해 줍니다.
우리는 이 블록들을 '판'() 위에 끌어다 놓고 조립해서
하나의 완성된 프로그램을 만들 수 있는 거죠.

  • GUI(Graphical User Interface): 사용자가 텍스트만 보는 게 아니라,
    아이콘, 버튼, 창 등 그래픽을 통해 '컴퓨터와 소통하는 방식'입니다.
  • 프레임워크(Framework): 프로그램을 만들기 위한 일종의 '뼈대'랍니다.
    복잡한 부분은 미리 만들어져 있어서, 우리는 살만 붙이면 돼요.

윈폼을 만드는 방법은 간단합니다.
새 프로젝트를 생성하고 다음과 같은 템플릿을 선택하세요.

  • Windows Forms 앱:
    .NET Core의 후속 버전으로, 최신 .NET 플랫폼을 중심으로 계속 업데이트되고 있습니다.
    새로운 프로젝트를 시작한다면 'Windows Forms 앱'을 선택하는 것이 좋습니다.
    성능상의 이점과 마이크로소프트의 지속적인 지원을 받을 수 있습니다.

  • Windows Forms 앱(.NET Framework):
    오래전부터 사용되어 온 안정적인 플랫폼입니다.
    더 이상 새로운 기능은 추가되지 않습니다. (보안 업데이트는 계속됨)
    오래된 기존 애플리케이션을 유지 관리할 때 주로 사용됩니다.

2)Windows Forms의 핵심 특징

윈폼이 왜 초보자에게 매력적인지, 핵심 특징을 통해 알아볼게요.

1. 드래그 앤 드롭

윈폼의 가장 큰 매력은 바로 비주얼 디자이너(Visual Designer)입니다.
코드를 한 줄 한 줄 쳐서 버튼의 위치를 x=100, y=150처럼 정하는 게 아니에요.
비주얼 스튜디오의 '도구 상자'에서 원하는 컨트롤(버튼, 텍스트 박스 등)을
마우스로 쭉 끌어서 화면에 놓기만 하면 끝! 정말 직관적이죠?

이 덕분에 디자인과 코드가 분리되어 개발 속도가 매우 빠릅니다.
이런 방식을 RAD(Rapid Application Development),
'빠른 응용 프로그램 개발'이라고 부르기도 해요.

2. 이벤트 기반 프로그래밍

윈폼 프로그램은 가만히 있다가 사용자의 행동에 '반응'해서 동작합니다.
이걸 '이벤트 기반 프로그래밍'이라고 해요.

비유하자면, 자판기와 같아요. 자판기는 누가 버튼을 누르기 전까지는 가만히 있죠?
그러다 사용자가 '콜라' 버튼을 (클릭)하면, 그제야 콜라를 내주는 (동작)을 합니다.

윈폼도 마찬가지예요.

  • 사용자가 버튼을 클릭합니다. (이벤트 발생)
  • 프로그램이 이벤트를 감지하고 약속된 코드를 실행합니다. (이벤트 핸들러)

다음은 helloButton이라는 버튼을 클릭했을 때 메시지 상자를 띄우는 간단한 예제입니다.

// HelloButton을 클릭했을 때 호출될 메서드(이벤트 핸들러)
private void HelloButton_Click(object sender, EventArgs e)
{
    // "안녕하세요, 윈폼!"이라는 메시지 박스를 화면에 보여줍니다.
    MessageBox.Show("Hello, 윈폼!");
}
  • 실행 결과

3. 다양한 기본 컨트롤 제공

윈폼은 대부분의 기능을 '컨트롤'이라는 특수한 블록 형태로 제공합니다.

컨트롤(Control)설명
Button사용자가 클릭할 수 있는 버튼
Label정보를 표시하는 텍스트
TextBox사용자가 텍스트를 입력할 수 있는 상자
CheckBox여러 옵션을 선택(체크)할 수 있는 상자
ComboBox목록에서 항목을 선택하는 드롭다운 메뉴
PictureBox이미지를 표시하는 공간

이 외에도 수많은 컨트롤이 준비되어 있어서,
복잡한 기능도 비교적 손쉽게 구현할 수 있답니다.

3)정리하며

요즘에는 WPF, MAUI 등 더 새롭고 세련된 기술들도 있습니다.
그렇지만 Windows Forms는 여전히 많은 곳에서 사용되고 있고,
무엇보다 GUI 프로그래밍를 배우기 쉬운 도구 중 하나랍니다.

  • Windows Forms는 윈도우 앱을 만들기 위한 GUI 프레임워크입니다.
  • 드래그 앤 드롭 방식으로 레고처럼 쉽게 화면을 디자인할 수 있어요.
  • 사용자의 행동(이벤트)에 반응하여 동작하는 이벤트 기반 방식으로 작동해요.
  • 다양한 컨트롤을 기본으로 제공해서 개발이 편리합니다.
profile
🚀 미래의 엔지니어를 꿈꾸는 훈련생의 기록 📝

0개의 댓글