Bagikan melalui


DataGridView.ProcessDataGridViewKey(KeyEventArgs) Metode

Definisi

Memproses kunci yang digunakan untuk menavigasi di DataGridView.

protected:
 virtual bool ProcessDataGridViewKey(System::Windows::Forms::KeyEventArgs ^ e);
protected virtual bool ProcessDataGridViewKey (System.Windows.Forms.KeyEventArgs e);
abstract member ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
override this.ProcessDataGridViewKey : System.Windows.Forms.KeyEventArgs -> bool
Protected Overridable Function ProcessDataGridViewKey (e As KeyEventArgs) As Boolean

Parameter

e
KeyEventArgs

Berisi informasi tentang tombol yang ditekan.

Mengembalikan

true jika kunci diproses; jika tidak, false.

Pengecualian

Tombol yang ditekan akan menyebabkan kontrol memasuki mode edit, tetapi EditType properti sel saat ini tidak menunjukkan kelas yang berasal dari Control dan mengimplementasikan IDataGridViewEditingControl.

Tindakan ini akan menerapkan nilai sel atau memasuki mode edit, tetapi kesalahan dalam sumber data mencegah tindakan dan tidak ada handler untuk DataError peristiwa atau handler telah mengatur ThrowException properti ke true.

-atau-

Kunci DELETE akan menghapus satu atau beberapa baris, tetapi kesalahan di sumber data mencegah penghapusan dan tidak ada handler untuk DataError peristiwa atau handler telah mengatur ThrowException properti ke true.

Contoh

Contoh kode berikut menunjukkan cara mengubah perilaku kunci ENTER dalam DataGridView subkelas dengan mengesampingkan ProcessDataGridViewKey metode dan ProcessDialogKey . Dalam contoh, kunci ENTER memiliki perilaku yang sama dengan tombol PANAH KANAN, sehingga memudahkan pengguna untuk mengedit beberapa sel dalam satu baris data.

public class CustomDataGridView : DataGridView
{
    protected override bool ProcessDialogKey(Keys keyData)
    {
        // Extract the key code from the key value. 
        Keys key = (keyData & Keys.KeyCode);

        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (key == Keys.Enter)
        {
            return this.ProcessRightKey(keyData);
        }
        return base.ProcessDialogKey(keyData);
    }

    protected override bool ProcessDataGridViewKey(KeyEventArgs e)
    {
        // Handle the ENTER key as if it were a RIGHT ARROW key. 
        if (e.KeyCode == Keys.Enter)
        {
            return this.ProcessRightKey(e.KeyData);
        }
        return base.ProcessDataGridViewKey(e);
    }
}
Public Class CustomDataGridView
    Inherits DataGridView

    <System.Security.Permissions.UIPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, _
        Window:=System.Security.Permissions.UIPermissionWindow.AllWindows)> _
    Protected Overrides Function ProcessDialogKey( _
        ByVal keyData As Keys) As Boolean

        ' Extract the key code from the key value. 
        Dim key As Keys = keyData And Keys.KeyCode

        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If key = Keys.Enter Then
            Return Me.ProcessRightKey(keyData)
        End If

        Return MyBase.ProcessDialogKey(keyData)

    End Function

    <System.Security.Permissions.SecurityPermission( _
        System.Security.Permissions.SecurityAction.LinkDemand, Flags:= _
        System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode)> _
    Protected Overrides Function ProcessDataGridViewKey( _
        ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean

        ' Handle the ENTER key as if it were a RIGHT ARROW key. 
        If e.KeyCode = Keys.Enter Then
            Return Me.ProcessRightKey(e.KeyData)
        End If

        Return MyBase.ProcessDataGridViewKey(e)

    End Function

End Class

Keterangan

Metode ini memanggil metode pemrosesan kunci yang sesuai dengan tombol yang ditekan (misalnya, ProcessF2Key metode ketika F2 ditekan) dan mengembalikan nilai yang dikembalikan dari metode tersebut.

Catatan Bagi Inheritor

Saat mengambil alih metode ini, kontrol harus kembali true untuk menunjukkan bahwa ia telah memproses kunci. Untuk kunci yang tidak diproses oleh kontrol, kembalikan hasil versi dasar metode ini.

Berlaku untuk

Lihat juga