Share via


HOW TO:處理 JScript 中的事件

事件是指使用者一般執行的動作,例如按下滑鼠按鈕、按下按鍵、變更資料,或是開啟文件或表單。 此外,程式碼也可以執行動作。 事件處理常式是繫結至事件的方法。 當事件引發時,會執行事件處理常式內的程式碼。 JScript .NET 事件處理常式可以連接任何類型的 .NET 應用程式 (ASP.NET、Windows Form、主控台等) 中的事件。 不過,新事件無法在 JScript 中宣告。 JScript 程式碼只能使用已存在的事件。

若要為按鈕控制項的 Click 事件建立事件處理常式

  • 加入以下程式碼:

    // 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,會傳遞特定的物件到要處理的事件。 藉由參考物件的屬性 (有時候是它的方法),您可以取得一些資訊,例如:mouse 事件的滑鼠位置,或是 drag-and-drop 事件中傳送的資料。

若要編譯程式碼

  1. 使用 Visual Studio 提供的命令列編譯器 jsc.exe。

  2. 輸入下列命令列指示詞,建立名為 Events.exe 的 Windows 可執行檔 (EXE) 程式︰

    jsc /target:winexe Events.js

    注意事項注意事項

    引發單一事件可能會因為將所需的多個函式連結至事件,而導致呼叫多個事件處理常式︰

    btn.add_Click(ButtonEventHandler1); 
    btn.add_Click(ButtonEventHandler2);
    . . .
    

請參閱

工作

HOW TO:從命令列編譯 JScript 程式碼

其他資源

撰寫、編譯和偵錯 JScript 程式碼