본문으로 바로가기
반응형

윈폼 템플릿 없이 윈폼 프로그램을 만드는 방법

 

템플릿을 사용하지 않고도 윈폼 프로그램을 만들 수 있을까?  정답은 Yes이다. 콘솔 애플리케이션으로 윈폼 프로그램을 만들어보면 윈폼 프로그램의 구조를 알 수 있다. 예제로 콘솔 애플리케이션으로 두 개의 버튼이 있는 윈폼 프로그램을 작성해보자.

 

코드로 윈폼을 작성할 것이기때문에 콘솔앱으로 프로젝트를 생성해보자

우선 콘솔 애플리케이션에서 폼을 사용하려면 프로젝트의 참조에 System.Window.Forms와 System.Drawing을 추가해야한다. 솔루션 탐색기에서 참조 우클릭 -> 참조 추가를 하거나,   맨 위의 메뉴에서 프로젝트 -> 참조 추가를 클릭해서 2개의 참조를 추가해주자.

두가지 중에 어떤 방법이든 같으니 편한대로 추가하면된다

 

참조 관리자에서 Forms와 Drawing 어셈블리 추가

using System;
using System.Drawing;
using System.Windows.Forms;

namespace _20200819_002
{
    class Program
    {
        static void Main(string[] args)
        {
            CreateMyForm();
        }

        private static void CreateMyForm()
        {
            Form form1 = new Form();     // 새로운 폼 객체를 만들고 이름을 form1으로 한다.

            Button button1 = new Button();   // 2개의 버튼 객체를 만들고 button1과 button2로 이름을 준다.
            Button button2 = new Button();

            button1.Text = "OK";    // button1의 Text 속성을 "OK"로한다. 이렇게하면 버튼 위에 "OK"라는 글자가 나타난다.
            button1.Location = new Point(10, 10); // button1의 위치를 정해주기위해 Location 속성을 new Point(10, 10)으로 설정한다. 버튼의 좌상단 좌표가 (10, 10)이 된다.
            button2.Text = "Cancel";  // button2의 Text 속성을 "Cancel"로 한다. 버튼 위에 "Cancel" 라는 글자가 나타난다.
            button2.Location = new Point(button1.Left, button1.Height + button1.Top + 10);  // button2의 위치를 button1아래 10만큼 떨어진 곳으로 설정한다.
            
            form1.Text = "My Dialog Box";  // form1의 Text 속성을 "My Dialog Box"로 설정한다. 폼의 타이틀이 바뀌어져 있을 것이다.

            button1.Click += Button1_Click;    // 버튼 클릭은 맽 밑에 메서드로 추가되어있다

            form1.FormBorderStyle = FormBorderStyle.FixedDialog;
            form1.StartPosition = FormStartPosition.CenterScreen;

            // 폼에 버튼 추가하기
            form1.Controls.Add(button1);
            form1.Controls.Add(button2);

            //폼에 모달 다이아로그 박스를 보여주기
            form1.ShowDialog(); // form1을 띄워서 form1과 그 안에 있는 버튼을 볼 수 있다.
        }
        private static void Button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("OK Button을 클릭했습니다");      // 버튼을 클릭했을때 출력하는 메세지를 설정해준다.
        }
    }
}

위의 코드를 그대로 복사해서 프로그램을 실행해보자.

 

 

아래 이미지처럼 콘솔창이 나오고, My Dialog Box 폼이 생긴다. 이때, OK 버튼을 클릭하면 메시지박스가 나타난다.

실행화면. OK 버튼을 클릭하면 메세지박스가 새로 출력된다

 

 

이와같이 윈폼 템플릿을 사용하지 않고도 윈폼 프로그램을 만들 수 있다. 하지만 윈폼 템플릿을 사용하는 것이 더 편하므로 앞으로는 윈폼 템플릿을 사용하도록 하자.

반응형