using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Appname1
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
using 문을 사용해 소스코드 내에서 사용할 네임스페이스를 지정한다.
- using System; .NET Framework의 기본 네임스페이스
- using System.Collections.Generic : 제네릭(Generics) 컬렉션 클래스를 포함한 네임스페이스, List, Dictionary 등
- using System.Linq; Language Integrated Query(LINQ)를 지원하는 네임스페이스
- using System.Threading.Tasks; 병렬 처리 및 비동기 프로그래밍을 지원하는 네임스페이스
- using System.Windows.Forms; Windows Forms 애플리케이션을 만들기 위해 필요한 클래스들을 포함한 네임스페이스
Visual Studio에서 새 프로젝트를 만들면 프로젝트명으로 namespace가 만들어지고 그 안에 Program 클래스가 자동 생성된다. Program 클래스 안에 있는 Main 메서드는 C# 프로그램의 진입점(entry point)이다. 프로그램이 시작되면 Main 메서드 안에 작성된 코드가 순서대로 실행된다.
Program 클래스가 아닌 다른 클래스에 Main 메서드를 둘 수도 있지만 프로그램을 시작할 때 실행되는 메서드는 반드시 Main 메서드이며, 이 메서드는 static으로 선언되어야 한다. 따라서 Main 메서드가 속한 클래스도 static으로 선언되어야 한다.
- [STAThread] : 이 애플리케이션이 단일 스레드 아파트(single-threaded apartment) 모델을 사용한다는 것을 지정한다. Windows Forms 애플리케이션에서는 대개 STA 모델을 사용한다.
- Application.EnableVisualStyles() : 시각적 스타일을 활성화한다.
- Application.SetCompatibleTextRenderingDefault(false) : 애플리케이션에서 사용할 기본 텍스트 렌더링 모드를 설정한다. Windows Forms 애플리케이션에서 텍스트 렌더링에 대한 기본값을 설정하며, false 값을 전달하여 GDI+ 텍스트 렌더링 모드를 사용하도록 지정한다.
- Application.Run(new Form1()) : Form1 클래스의 인스턴스를 만들어 실행한다. 이 메서드는 Windows Forms 메시지 루프를 시작하고, 이벤트를 처리하여 애플리케이션의 동작을 제어한다.
'프로그래밍 > C# (WinForms)' 카테고리의 다른 글
C# ] delegate (0) | 2023.05.14 |
---|---|
C#, WinForms ] 폼 시작시, 종료시 이벤트 호출 순서 (0) | 2023.05.14 |
Winforms ] ToopStrip, MenuStrip 속성 (0) | 2023.05.14 |
C# ] namespace (0) | 2023.05.14 |
C# ] NuGet 패키지 관리자 사용하여 프로젝트에 패키지 추가 (0) | 2023.05.14 |