如何:在 JScript 中处理事件
事件是用户通常执行的操作,例如单击鼠标按钮、按键、更改数据或者打开文档或窗体。 此外,程序代码也可执行操作。 事件处理程序是绑定到事件的方法。 当引发事件时,执行事件处理程序内的代码。 JScript .NET 事件处理程序可连接到任何类型的 .NET 应用程序(ASP.NET、Windows 窗体、控制台等)。 但是,不能在 JScript 中声明新事件。 JScript 代码只能使用已存在的事件。
为按钮控件的单击事件创建事件处理程序
添加下列代码:
// Events.js import System; import System.Windows.Forms; import System.Drawing; import Accessibility; 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); . . .