KeyPressEventArgs Kelas

Definisi

Menyediakan data untuk peristiwa tersebut KeyPress .

public ref class KeyPressEventArgs : EventArgs
[System.Runtime.InteropServices.ComVisible(true)]
public class KeyPressEventArgs : EventArgs
public class KeyPressEventArgs : EventArgs
[<System.Runtime.InteropServices.ComVisible(true)>]
type KeyPressEventArgs = class
    inherit EventArgs
type KeyPressEventArgs = class
    inherit EventArgs
Public Class KeyPressEventArgs
Inherits EventArgs
Warisan
KeyPressEventArgs
Atribut

Contoh

Contoh berikut mengilustrasikan menggunakan KeyPressEventArgs tombol untuk menghitung saat ditekan dan untuk menampilkan hasilnya setelah setiap tombol ditekan. Handled kemudian diatur ke true untuk menjaga sistem operasi dari pemrosesan kunci lebih lanjut. Contoh mengasumsikan formulir dengan ditempatkan TextBox di atasnya.

public ref class myKeyPressClass
{
private:
   static long keyPressCount = 0;
   static long backspacePressed = 0;
   static long returnPressed = 0;
   static long escPressed = 0;
   TextBox^ textBox1;
   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 = String::Concat( 
         backspacePressed, " backspaces pressed\r\n",
         escPressed, " escapes pressed\r\n",
         returnPressed, " returns pressed\r\n",
         keyPressCount, " other keys pressed\r\n" );
      ex->Handled = true;
   }
};
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 ;
     }
 }
Public Class myKeyPressClass
    Private Shared keyPressCount As Long = 0
    Private Shared backspacePressed As Long = 0
    Private Shared returnPressed As Long = 0
    Private Shared escPressed As Long = 0
    Private textBox1 As TextBox
    
    Private Sub myKeyCounter(sender As Object, ex As KeyPressEventArgs)
        Select Case ex.KeyChar
            ' Counts the backspaces.
            Case ControlChars.Back
                backspacePressed = backspacePressed + 1
            ' Counts the ENTER keys.
            Case ControlChars.Lf
                returnPressed = returnPressed + 1
            ' Counts the ESC keys.  
            Case Convert.ToChar(27)
                escPressed = escPressed + 1
            ' Counts all other keys.
            Case Else
                keyPressCount = keyPressCount + 1
        End Select
        
        textBox1.Text = backspacePressed & " backspaces pressed" & _
            ControlChars.Lf & ControlChars.Cr & escPressed & _
            " escapes pressed" & ControlChars.CrLf & returnPressed & _
            " returns pressed" & ControlChars.CrLf & keyPressCount & _
            " other keys pressed" & ControlChars.CrLf
        ex.Handled = True
    End Sub
End Class

Anda harus membuat instans baru kelas ini. Anda juga harus mengatur penanganan aktivitas. Anda dapat melakukan ini di konstruktor untuk kelas Anda.

public:
   myKeyPressClass^ myKeyPressHandler;

   Form1()
   {
      myKeyPressHandler = gcnew myKeyPressClass;

      InitializeComponent();

      textBox1->KeyPress += gcnew KeyPressEventHandler(
         myKeyPressHandler, &myKeyPressClass::myKeyCounter );
   }
myKeyPressClass myKeyPressHandler = new myKeyPressClass();
public Form1()
{
     InitializeComponent();
 
     textBox1.KeyPress += new KeyPressEventHandler(myKeyPressHandler.myKeyCounter);
}
Private myKeyPressHandler As New myKeyPressClass()

Public Sub New()
    InitializeComponent()
    
    AddHandler textBox1.KeyPress, AddressOf myKeyPressHandler.myKeyCounter
End Sub

Ketika peristiwa yang ditentukan dinaikkan dalam kontrol, metode terlampir dipanggil dan aplikasi dapat menjalankan kode sebagai respons terhadap peristiwa tersebut.

Keterangan

KeyPressEventArgs menentukan karakter yang disusung saat pengguna menekan tombol. Misalnya, saat pengguna menekan SHIFT + K, KeyChar properti mengembalikan K huruf besar.

Peristiwa KeyPress terjadi saat pengguna menekan tombol. Dua peristiwa yang terkait KeyPress erat dengan peristiwa adalah KeyUp dan KeyDown. Peristiwa ini KeyDown mendahului setiap KeyPress peristiwa saat pengguna menekan tombol, dan KeyUp peristiwa terjadi saat pengguna merilis kunci. Saat pengguna menahan kunci, duplikat KeyDown dan KeyPress peristiwa terjadi setiap kali karakter diulang. Satu KeyUp peristiwa dihasilkan setelah rilis.

Dengan setiap KeyPress peristiwa, diteruskan KeyPressEventArgs . KeyEventArgs diteruskan dengan setiap KeyDown peristiwa dan KeyUp . KeyEventArgs menentukan apakah ada tombol pengubah (CTRL, SHIFT, atau ALT) yang ditekan bersama dengan tombol lain. (Informasi pengubah ini juga dapat diperoleh melalui ModifierKeys properti kelas Control .)

Atur HandledKeyPress ke true untuk membatalkan acara. Ini membuat kontrol tidak memproses penekanan tombol.

Catatan

Beberapa kontrol akan memproses goresan kunci tertentu pada KeyDown. Misalnya, RichTextBox memproses tombol Enter sebelum KeyPress dipanggil. Dalam kasus seperti itu, Anda tidak dapat membatalkan KeyPress acara, dan harus membatalkan goresan kunci sebagai KeyDown gantinya.

Untuk informasi tentang model peristiwa, lihat Menangani dan Meningkatkan Peristiwa.

Konstruktor

KeyPressEventArgs(Char)

Menginisialisasi instans baru kelas KeyPressEventArgs.

Properti

Handled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah KeyPress peristiwa ditangani.

KeyChar

Mendapatkan atau mengatur karakter yang sesuai dengan tombol yang ditekan.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga