본문 바로가기

C# WPF

Event Handler 마우스를 움직이거나 클릭할 때, 키보드가 눌렸을 때 등 사용자의 입력에 따라 이벤트가 발생한다. 특정 이벤트가 발생하는 것에 따라 자동으로 호출되어 실행되는 함수를 이벤트 처리함수 또는 이벤트 핸들러(Event Handler)라고 한다. 아래의 예는 윈도우 창에서 마우스가 눌려졌을 때 그것이 왼쪽 버튼인지 오른쪽 버튼인지와 마우스가 눌려진 좌표를 콘솔 창에 출력해주는 프로그램이다. 마우스가 눌려졌을 때 처리되는 이벤트는 MouseDown 이벤트이다. 이를 처리하는 함수가 MouseDownHandler 이다. myWindow() 생성자 함수에서 이벤트 처리함수를 등록한다. 다음 그림과 같이 MouseDown+= 까지 입력하고 Tab을 누르면 이벤트처리함수를 자동으로 입력해준다. (물론 이벤트처리함수의 이름.. 더보기
상속에 의한 윈도우 생성(2) Main() 함수와 MyWindow 클래스를 하나의 클래스에 둘 수도 있다. 아래 그림에서 MyWindow2 클래스에 Main()과 생성자가 함께 들어있음을 확인하자. 앞으로 코딩은 이 방법을 사용하여 진행할 것이다. BeeEye 드무 더보기
상속에 의한 윈도우 생성 앞의 예에서, Main()은 static이어야 하고 Main()함수에서 호출되는 CreateWindow() 함수도 static이어야 한다고 했다. static 함수에서 호출해야 하는 함수가 static이어야 한다면, 앞으로 만드는 모든 함수가 static이어야 한단 말인가... 이를 해결하기 위해서 새로운 class인 MyWindow를 만들어서 사용하도록 한다. MyWindow 클래스에서 Window 클래스를 상속하고 객체가 만들어질 때 수행되는 생성자 함수에서 윈도우의 Title, Width, Height 등의 속성을 지정하도록 한다. 18번째 줄에 있는 class MyWindow : Window 는 MyWindow 클래스가 Window 클래스를 상속한다는 것을 정의한다. 21번째 줄의 public M.. 더보기
Window 객체 생성함수 사용하기 앞의 프로그램에서는 Main() 함수에 모든 일을 다 처리했으나, 이는 바람직 하지 않다. Main()함수는 최대한 간략하게 하여 전체 프로그램의 골격을 볼 수 있게 하는 것이 좋다. 다음과 같이 Main() 에서 CreateWindow()라는 함수(메소드)를 호출하게 하면 훨씬 간단한 Main()이 된다. 여기서 CreateWindow()는 Window 객체를 return 하는 함수이다. 또한 CreateWindow()가 static이어야 하는 이유는 Main()이 static 이기 때문이다. 참고로 class 안에서 생성되는 함수는 별도로 public 이라고 써주기 전에는 default로 private 가 된다. using System; using System.Windows; namespace Cod.. 더보기
Visual Studio 2012에서 첫번째 윈도우 프로그램 만들기 Solution : CodingAcademy Project : 001Hello 프로젝트가 만들어지면 참조를 추가한다. 솔루션탐색기에 생긴 참조에 마우스 오른쪽 버튼을 누르고 참조추가를 선택하여 다음과 같이 5개의 참조를 추가한다. 아래 그림에서 참조아래 5개가 추가된 것을 볼 수 있다. •PresentationCore •PresentationFrameWork •System •System.Xaml •WindowBase Code : Hello.cs 프로그램을 실행하면 다음과 같은 화면을 볼 수 있다. Console 창에 "첫 번째 윈도우 프로그램"이라고 출력되며 Title이 "Hello"이고 크기가 400x300인 빈 윈도우가 하나 보인다. using System; using System.Windows; n.. 더보기
Coding Academy 2013 코딩 아카데미 2013이 시작되었습니다. 올해 처음 시작하는 과정으로 방학중 4주간(7월 1일~7월 26일) 월~금 매일 09:30~17:30까지 진행됩니다. 이번 과정은 김필중교수님이 수고해 주십니다. 코딩아카데미 2013 내용을 포스팅 합니다. 이 내용은 내가 정리하였지만 아이디어 및 오리지널리티, 일부 자료는 김필중교수님의 것임을 밝힙니다. BeeEye 드므 더보기