Bagikan melalui


DataGridView.ProcessRightKey(Keys) Metode

Definisi

Memproses tombol PANAH KANAN.

protected:
 bool ProcessRightKey(System::Windows::Forms::Keys keyData);
protected bool ProcessRightKey (System.Windows.Forms.Keys keyData);
member this.ProcessRightKey : System.Windows.Forms.Keys -> bool
Protected Function ProcessRightKey (keyData As Keys) As Boolean

Parameter

keyData
Keys

Kombinasi Keys nilai bitwise yang mewakili kunci atau kunci untuk diproses.

Mengembalikan

true jika kunci diproses; jika tidak, false.

Pengecualian

Tombol PANAH KANAN akan menyebabkan kontrol memasuki mode edit, tetapi EditType properti sel baru 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.

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

Berlaku untuk

Lihat juga