Baca dalam bahasa Inggris

Bagikan melalui


KeyEventArgs Kelas

Definisi

Menyediakan data untuk KeyDown peristiwa atau KeyUp .

[System.Runtime.InteropServices.ComVisible(true)]
public class KeyEventArgs : EventArgs
public class KeyEventArgs : EventArgs
Warisan
KeyEventArgs
Atribut

Contoh

Contoh kode berikut menunjukkan cara mendeteksi status penekanan tombol.

Contoh 1

Contoh kode berikut menunjukkan cara menggunakan KeyDown peristiwa dengan Help kelas untuk menampilkan bantuan gaya pop-up kepada pengguna aplikasi. Contohnya menggunakan properti yang KeyEventArgs diteruskan ke metode penanganan aktivitas untuk memfilter semua variasi menekan tombol F1 dengan tombol pengubah. Saat pengguna menekan variasi F1 apa pun yang menyertakan pengubah keyboard apa pun, Help kelas menampilkan jendela pop-up, mirip ToolTipdengan , di dekat kontrol. Jika pengguna menekan ALT+F2, pop-up Bantuan yang berbeda ditampilkan dengan informasi tambahan.

private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    // Determine whether the key entered is the F1 key. If it is, display Help.
    if(e.KeyCode == Keys.F1 && (e.Alt || e.Control || e.Shift))
    {
        // Display a pop-up Help topic to assist the user.
        Help.ShowPopup(textBox1, "Enter your name.", new Point(textBox1.Bottom, textBox1.Right));
    }
    else if(e.KeyCode == Keys.F2 && e.Modifiers == Keys.Alt)
    {
        // Display a pop-up Help topic to provide additional assistance to the user.
        Help.ShowPopup(textBox1, "Enter your first name followed by your last name. Middle name is optional.",
            new Point(textBox1.Top, this.textBox1.Left));
    }
}

Contoh 2

Contoh berikut menentukan apakah pengguna menekan ALT+E, dan jika penunjuk mouse melebihi TreeNode, memungkinkan pengguna untuk mengeditnya TreeNode.

private void treeView1_KeyDown(object sender, KeyEventArgs e)
{
   /* If the 'Alt' and 'E' keys are pressed,
      * allow the user to edit the TreeNode label. */
   if(e.Alt && e.KeyCode == Keys.E)
         
   {
      treeView1.LabelEdit = true;
      // If there is a TreeNode under the mouse cursor, begin editing. 
      TreeNode editNode = treeView1.GetNodeAt(
         treeView1.PointToClient(System.Windows.Forms.Control.MousePosition));
      if(editNode != null)
      { 
         editNode.BeginEdit();
      }
   }
}

private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
   // Disable the ability to edit the TreeNode labels.
   treeView1.LabelEdit = false;
}

Contoh 3

Contoh berikut menentukan apakah pengguna menekan tombol non-numerik, dan jika demikian, membatalkan KeyPress peristiwa dengan menggunakan Handled properti .

// Boolean flag used to determine when a character other than a number is entered.
private bool nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered into the control.
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the keyboard.
    if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
    {
        // Determine whether the keystroke is a number from the keypad.
        if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
        {
            // Determine whether the keystroke is a backspace.
            if(e.KeyCode != Keys.Back)
            {
                // A non-numerical keystroke was pressed.
                // Set the flag to true and evaluate in KeyPress event.
                nonNumberEntered = true;
            }
        }
    }
    //If shift key was pressed, it's not a number.
    if (Control.ModifierKeys == Keys.Shift) {
        nonNumberEntered = true;
    }
}

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered)
    {
        // Stop the character from being entered into the control since it is non-numerical.
        e.Handled = true;
    }
}

Keterangan

A KeyEventArgs, yang menentukan tombol yang ditekan pengguna dan apakah ada tombol pengubah (CTRL, ALT, dan SHIFT) ditekan pada saat yang sama, diteruskan dengan setiap KeyDown atau KeyUp peristiwa.

Peristiwa terjadi KeyDown ketika pengguna menekan tombol apa pun. Peristiwa terjadi KeyUp ketika pengguna merilis kunci. Peristiwa duplikat KeyDown terjadi setiap kali kunci diulang, jika kunci ditahan, tetapi hanya satu KeyUp peristiwa yang dihasilkan saat pengguna merilis kunci.

Peristiwa juga KeyPress terjadi ketika tombol ditekan. KeyPressEventArgs diteruskan dengan setiap KeyPress peristiwa, dan menentukan karakter yang terdiri sebagai hasil dari setiap penekanan tombol.

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

Konstruktor

KeyEventArgs(Keys)

Menginisialisasi instans baru kelas KeyEventArgs.

Properti

Alt

Mendapatkan nilai yang menunjukkan apakah tombol ALT ditekan.

Control

Mendapatkan nilai yang menunjukkan apakah tombol CTRL ditekan.

Handled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah peristiwa ditangani.

KeyCode

Mendapatkan kode keyboard untuk atau KeyDownKeyUp peristiwa.

KeyData

Mendapatkan data utama untuk suatu KeyDown atau KeyUp peristiwa.

KeyValue

Mendapatkan nilai keyboard untuk peristiwa KeyDown atau KeyUp .

Modifiers

Mendapatkan bendera pengubah untuk suatu KeyDown atau KeyUp peristiwa. Bendera menunjukkan kombinasi tombol CTRL, SHIFT, dan ALT mana yang ditekan.

Shift

Mendapatkan nilai yang menunjukkan apakah tombol SHIFT ditekan.

SuppressKeyPress

Mendapatkan atau menetapkan nilai yang menunjukkan apakah peristiwa kunci harus diteruskan ke kontrol yang mendasar.

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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Produk Versi
.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

Lihat juga