방법: JScript의 이벤트 처리
업데이트: 2007년 11월
이벤트는 사용자가 일반적으로 수행하는 마우스 단추 클릭, 키 누르기, 데이터 변경 또는 문서나 양식 열기 등과 같은 작업입니다. 프로그램 코드도 작업을 수행할 수 있습니다. 이벤트 처리기는 이벤트에 바인딩되는 메서드입니다. 이벤트가 발생하면 이벤트 처리기의 코드가 실행됩니다. JScript .NET 이벤트 처리기는 ASP.NET, Windows Forms, 콘솔 등과 같은 모든 종류의 .NET 응용 프로그램의 이벤트에 연결될 수 있습니다. 하지만 JScript에서 새 이벤트를 선언할 수는 없습니다. 이미 존재하는 이벤트만 JScript 코드에서 사용할 수 있습니다.
Button 컨트롤의 Click 이벤트를 위한 이벤트 처리기를 만들려면
아래와 같은 코드를 추가합니다.
// Events.js import System; import System.Windows.Forms; class EventTestForm extends Form { var btn : Button; function EventTestForm() { btn = new Button; btn.Text = "Fire Event"; Controls.Add(btn); // Connect the function to the event. btn.add_Click(ButtonEventHandler1); btn.add_Click(ButtonEventHandler2); } // Add an event handler to respond to the Click event raised // by the Button control. function ButtonEventHandler1(sender, e : EventArgs) { MessageBox.Show("Event is Fired!"); } function ButtonEventHandler2(sender, e : EventArgs) { MessageBox.Show("Another Event is Fired!"); } } Application.Run(new EventTestForm);
참고: 각 이벤트 처리기는 두 개의 매개 변수를 제공합니다. 첫 번째 매개 변수인 sender는 이벤트를 발생시키는 개체에 대한 참조를 제공합니다. 위의 예제에서 두 번째 매개 변수인 e는 처리 중인 이벤트에 특정 개체를 전달합니다. 개체의 속성 또는 경우에 따라 개체의 메서드를 참조하면 마우스 이벤트의 마우스 위치나 끌어서 놓기 이벤트에서 전송 중인 데이터와 같은 정보를 가져올 수 있습니다.
코드를 컴파일하려면
Visual Studio와 함께 제공되는 명령줄 컴파일러 jsc.exe를 사용합니다.
다음 명령줄 지시문을 입력하여 Events.exe라는 Windows 실행 프로그램(EXE)을 만듭니다.
jsc /target:winexe Events.js
참고: 하나의 이벤트를 발생시키면 그 이벤트에 필요한 개수만큼의 함수를 연결하여 여러 개의 이벤트 처리기를 호출할 수 있습니다.
btn.add_Click(ButtonEventHandler1); btn.add_Click(ButtonEventHandler2); . . .