안녕하세요~ 문쑹입니다 :) C# Winform에 대해서는 오랜만에 포스팅을 하게 됩니다!
오늘은 템플릿을 사용하지 않고도 윈폼 프로그램을 만드는 방법에 대해 간략하게 포스팅 해보겠습니다!
먼저, 콘솔 애플리케이션에서 폼을 사용하려면 프로젝트의 참조에 System.Windows.Froms와 System.Drawing을 추가해야합니다. 솔루션 탐색기의 프로젝트 아래의 참조에서 마우스 오른쪽 버튼을 누르고 참조 추가를 클릭하여 아래 그림과 같이 참조 관리자을 띄운 후, 두 개의 어셈블리를 추가해주세요!
이제 소스코드 부분으로 가서 using문으로 System.Drawing과 System.Windows.Forms를 추가를 해주셔야합니다!
using System;
using System.Drawing;
using System.Windows.Forms;
프로그램 진입점인 Main() 메소드에서 CreateMyForm() 메소드를 호출합니다.
static void Main(string[] args)
{
CreateMyForm();
}
새로운 폼 객체를 만들고 이름을 form1으로 합니다.
Form form1 = new Form();
2개의 버튼 객체를 만들고 button1과 button2로 이름을 줍니다.
Button button1 = new Button();
Button button2 = new Button();
button1의 Text속성을 "OK"로 합니다. 버튼 위에 "OK"라는 글자가 나타납니다.
button1.Text = "OK";
button1의 위치를 정해주기 위해 Location 속성을 new Point(10,10)으로 설정합니다. 버튼의 좌상단 좌표가 (10, 10)위치가 됩니다. (이때 Point에 빨간줄이 그어진다면 using System.Drawing을 사용하였는지 다시 한 번더 확인해주세요!)
button1.Location = new Point(10, 10);
button2의 Text 속성을 "Cancle"로 합니다. 버튼 위에 "Cancle"라는 글자가 나타납니다. button2의 위치를 button1의 아래 10만큼 떨어진 곳으로 설정합니다.
button2.Text = "Cancle";
button2.Location = new Point(button1.Left, button1.Height + button1.Top + 10);
form1의 Text 속성을 "My Dialog Box"로 설정합니다. 폼의 타이틀바에 "My Dialog Box"가 표시 됩니다.
form1.Text = "My Dialog Box";
button1의 Click 이벤트 처리 메소드를 정의합니다.
button1.Click += Button1_Click;
FormBorderStyle 속성을 FormBorderStyle.FixedDialog로, StartPosition 속성을 FormStartPosition.CenterScreen으로 설정합니다. FormBorderStyle과 FormStartPosition은 .NET에서 제공하는 enum입니다.
form1.FormBorderStyle = FormBorderStyle.FixedDialog;
form1.StartPosition = FormStartPosition.CenterScreen;
form1에 button1과 button2를 추가합니다.
form1.Controls.Add(button1);
form1.Controls.Add(button2);
form1을 띄워줍니다. 이제 form1과 그 안에 있는 버튼을 볼 수 있게 됩니다.
form1.ShowDialog();
button1을 클릭했을 때 수행되는 이벤트 처리 메소드 입니다. 메세지박스에 "OK Button Clicked!"라는 메세지 창이 나타납니다.
private static void Button1_Click(object sender, EventArgs e)
{
MessageBox.Show("OK Button Clicked!");
}
이제 완성된 코드를 가지고 프로그램을 실행 시키면 아래와 같은 화면이 나옵니다.
using System;
using System.Drawing;
using System.Windows.Forms;
namespace FormWithConsole
{
class Program
{
static void Main(string[] args)
{
CreateMyForm();
}
private static void CreateMyForm()
{
Form form1 = new Form();
Button button1 = new Button();
Button button2 = new Button();
button1.Text = "OK";
button1.Location = new Point(10, 10);
button2.Text = "Cancle";
button2.Location
= new Point(button1.Left, button1.Height + button1.Top + 10);
form1.Text = "My Dialog Box";
button1.Click += Button1_Click;
form1.FormBorderStyle = FormBorderStyle.FixedDialog;
form1.StartPosition = FormStartPosition.CenterScreen;
//Add buttons to the form.
form1.Controls.Add(button1);
form1.Controls.Add(button2);
//Display the form as a modal dialog box.
form1.ShowDialog();
}
private static void Button1_Click(object sender, EventArgs e)
{
MessageBox.Show("OK Button Clicked!");
}
}
}
이와 같이 윈폼 템플릿을 사용하지 않고도 윈폼 프로그램을 만들 수 있습니다. 하지만 윈폼 템플릿을 사용하는 것이 더 편하기 때문에 앞으로는 윈폼 템플릿을 자주 사용하도록 하겠습니다 :)
그럼 이만 포스팅을 마치겠습니다! 감사합니다~!
Hasta Luego~!
'C# Winform' 카테고리의 다른 글
MessageBox (0) | 2020.08.19 |
---|---|
C# Winform 강의 6일차 (0) | 2020.06.22 |
C# Winform 강의 5일차 (0) | 2020.06.19 |
C# Winform 강의 4일차 (0) | 2020.06.18 |
C# Winform 강의 3일차 (0) | 2020.06.17 |