Solution : CodingAcademy
Project : 001Hello
프로젝트가 만들어지면 참조를 추가한다. 솔루션탐색기에 생긴 참조에 마우스 오른쪽 버튼을 누르고 참조추가를 선택하여 다음과 같이 5개의 참조를 추가한다. 아래 그림에서 참조아래 5개가 추가된 것을 볼 수 있다.
Code : Hello.cs
프로그램을 실행하면 다음과 같은 화면을 볼 수 있다. Console 창에 "첫 번째 윈도우 프로그램"이라고 출력되며 Title이 "Hello"이고 크기가 400x300인 빈 윈도우가 하나 보인다.
using System; namespace CodingAcademy.Hello public static void Main() Window win = new Window(); win.Title = "Hello"; win.Show(); //Application app = new Application(); |
8번째 라인의 [STAThread]는 Window 프로그램을 할 때, 필요하다.
윈도우 프로그램을 할 때에는 Main() 함수 앞에 [STAThread] 를 써 주어야 한다. 이것은 이 프로그램의 COM Threading Model을 single-threaded apartment (STA)로 한다는 표시이다(자세한 것은 나중에 알아보기로 하자).
이를 생략하면 다음과 같은 에러가 나온다.
22~23 라인의 코드가 없다면(소스창에서 처럼 주석처리를 한다면...) win을 만들고 win.Show()로 보인 다음에 프로그램이 끝나버리므로 잠깐 윈도우 창이 보였다 없어지고 만다.
Application app = new Application();
app.Run();
즉, 위의 두 라인은 프로그램이 계속되도록 해준다.
또한, 다음과 같이 win.Show()를 주석처리하고,
app.Run() 을 app.Run(win)으로 해도 똑 같은 실행결과를 얻을 수 있다.
//win.Show();
Application app = new Application();
app.Run(win);
Run(win)은 Run() 메소드가 win 개체의 Show()를 대신 호출해주기 때문이다.
BeeEye 드무
'C# WPF' 카테고리의 다른 글
Event Handler (0) | 2013.07.07 |
---|---|
상속에 의한 윈도우 생성(2) (0) | 2013.07.07 |
상속에 의한 윈도우 생성 (0) | 2013.07.07 |
Window 객체 생성함수 사용하기 (0) | 2013.07.07 |
Coding Academy 2013 (0) | 2013.07.06 |