2013-07-01 2 views
0

Привет, у меня есть datagridview с 4 столбцами, первые три столбца - texbox, а 4th - кнопка button.i, чтобы переопределить ключ ввода в datagridview, чтобы он установил фокус на следующий столбец вместо этого в следующую строку? когда я достичь texbox столбца 3 он пропустить командную кнопку и перейти к следующей строке здесь мой кодКак переопределить навигацию по datagridview с помощью клавиши ввода

Class MyDataGridView 
Inherits DataGridView 

Protected Overloads Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean 
    If keyData = Keys.Enter Then 
     MyBase.ProcessTabKey(Keys.Tab) 
     Return True 
    End If 
    Return MyBase.ProcessDialogKey(keyData) 
End Function 

Protected Overloads Overrides Function ProcessDataGridViewKey(ByVal e As KeyEventArgs) As Boolean 
    If e.KeyCode = Keys.Enter Then 
     MyBase.ProcessTabKey(Keys.Tab) 
     Return True 
    End If 
    Return MyBase.ProcessDataGridViewKey(e) 
End Function 


End Class 

этот код отлично работает, но только проблема является также фокус командной кнопки я хочу, чтобы пропустить командную кнопку. BCZ кнопка команды кнопки записи удалить

+0

попробовать сделать это в cellvalidated случая .. установлено currentcell .. – matzone

+0

привет мата вы в очередной раз пытались помочь мне спасибо, пожалуйста, объясните больше, если возможно, дайте мне пример –

ответ

1

моей проблемы была soloved я использую здесь решение

Private Sub MyDataGridView1_CurrentCellChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyDataGridView1.CurrentCellChanged 
    If MyDataGridView1.CurrentCellAddress.X = 8 Then 
     SendKeys.Send("{TAB}") 
    End If 
End Sub 
Смежные вопросы