Поделиться через


DataGridView.ProcessRightKey(Keys) Метод

Определение

Обрабатывает клавишу со стрелкой вправо.

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

Параметры

keyData
Keys

Битовая комбинация значений Keys, представляющая клавишу или клавиши, которые требуется обработать.

Возвращаемое значение

Значение true, если клавиша была обработана; в противном случае — значение false.

Исключения

Клавиша СТРЕЛКА ВПРАВО используется для перевода элемента управления в режим редактирования, но свойство EditType новой текущей ячейки не указывает класс, производный от Control и реализующий IDataGridViewEditingControl.

Это действие фиксирует значение ячейки или переводит ее в режим редактирования, однако ошибка в источнике данных блокирует выполнение этого действия, и для события DataError нет обработчика, или обработчик задал для свойства ThrowException значение true.

Примеры

В следующем примере кода показано, как изменить поведение ключа ВВОД в подклассе DataGridView путем переопределения ProcessDataGridViewKey методов и ProcessDialogKey . В этом примере клавиша ВВОД работает так же, как и клавиша СТРЕЛКА ВПРАВО, что упрощает редактирование нескольких ячеек в одной строке данных.

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

Применяется к

См. также раздел