본문 바로가기

C#의 속삭임

[C#][WPF][이벤트 기초]이벤트

* 아래는 이벤트 예제 문이다.

using System;

using System.Collections.Generic;

using System.Text;

using System.Windows;

using System.Windows.Input;


namespace HandleAnEvent

{

    class HandleAnEvent

    {

        [STAThread]

        public static void Main() {

            Application app = new Application();


            Window win = new Window();

            win.Title = "Handle An Event";

            win.MouseDown += WindowOnMouseDown;

            app.Run(win);

        }


        static void WindowOnMouseDown(object sender, MouseButtonEventArgs args) {

            Window win = sender as Window;

            string strMessage = string.Format("Window clicked with {0} button at point ({1})", args.ChangedButton, args.GetPosition(win));

            MessageBox.Show(strMessage,win.Title);

        }

    }

}



* 사용자가 윈도우의 클라이언트 영역을 누를때마다 MouseDown 이벤트가 발생된다.

* WindowOnMouseDown(object sender, MouseButtonEventArgs args) 메소드가 이벤트 핸들러의 역할을 한다.

* 해당 이벤트 핸들러의 첫번 째 인자는 이벤트를 발생 시킨 객체가 된다.