閱讀英文

共用方式為


KeyPressEventArgs 類別

定義

提供 KeyPress 事件的資料。

C#
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
C#
public class KeyPressEventArgs : EventArgs
繼承
KeyPressEventArgs
屬性

範例

下列範例說明如何使用 KeyPressEventArgs 來計算按下按鍵的計數,並在按下每個按鍵之後顯示結果。 Handled 然後設定為 true,讓作業系統無法進一步處理金鑰。 此範例假設其上具有 的 TextBox 表單。

C#
public class myKeyPressClass 
 {
     static long keyPressCount = 0 ;
     static long backspacePressed =  0;
     static long returnPressed = 0 ;
     static long escPressed = 0 ;
     private TextBox textBox1 = new TextBox();
     private void myKeyCounter(object sender, KeyPressEventArgs ex)
     {
     switch(ex.KeyChar)
     {
             // Counts the backspaces.
         case '\b':
         backspacePressed = backspacePressed + 1;
         break ;
             // Counts the ENTER keys.
         case '\r':
         returnPressed = returnPressed + 1 ;
         break ;
             // Counts the ESC keys.  
         case (char)27:
         escPressed = escPressed + 1 ;
         break ;
             // Counts all other keys.
         default:
         keyPressCount = keyPressCount + 1 ;
         break;
     }
     
     textBox1.Text = 
         backspacePressed + " backspaces pressed\r\n" + 
         escPressed + " escapes pressed\r\n" +
         returnPressed + " returns pressed\r\n" +
         keyPressCount + " other keys pressed\r\n" ;
     ex.Handled = true ;
     }
 }

您必須建立這個類別的新實例。 您也必須設定事件處理常式。 您可以在 類別的建構函式中執行此動作。

C#
myKeyPressClass myKeyPressHandler = new myKeyPressClass();
public Form1()
{
     InitializeComponent();
 
     textBox1.KeyPress += new KeyPressEventHandler(myKeyPressHandler.myKeyCounter);
}

在 控制項中引發指定的事件時,會呼叫附加的方法,而且應用程式可以執行程式碼以回應事件。

備註

KeyPressEventArgs指定使用者按下按鍵時所撰寫的字元。 例如,當使用者按下 SHIFT + K 時,屬性會 KeyChar 傳回大寫 K。

當使用者 KeyPress 按下按鍵時,就會發生事件。 與 事件緊密相關的 KeyPress 兩個事件為 KeyUpKeyDown 。 當使用者按下按鍵時,事件 KeyDown 會位於每個 KeyPress 事件之前,而 KeyUp 當使用者放開按鍵時,就會發生事件。 當使用者按住索引鍵時,每次重複字元時都會發生重複 KeyDownKeyPress 事件。 發行時會產生一個 KeyUp 事件。

每個 KeyPress 事件 KeyPressEventArgs 都會傳遞 。 會 KeyEventArgs 隨著每個 KeyDownKeyUp 事件傳遞 。 會 KeyEventArgs 指定按下任何輔助按鍵 (CTRL、SHIFT 或 ALT) 與另一個按鍵。 (您也可以透過 ModifierKeys class 的 Control 屬性來取得此修飾詞資訊。)

設定 Handledtrue 以取消 KeyPress 事件。 這可讓控制項無法處理按下按鍵。

注意

某些控制項會處理 上的 KeyDown 特定按鍵筆劃。 例如, RichTextBox 在呼叫 之前 KeyPress 處理 Enter 鍵。 在這種情況下,您無法取消 KeyPress 事件,而且必須改為取消按鍵筆劃 KeyDown

如需事件模型的相關資訊,請參閱 處理和引發事件

建構函式

KeyPressEventArgs(Char)

初始化 KeyPressEventArgs 類別的新執行個體。

屬性

Handled

取得或設定數值,表示是否處理 KeyPress 事件。

KeyChar

取得或設定對應於所按下按鍵的字元。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

產品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱