掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridViewのProcessDataGridViewKeyイベントで次のコントロールに飛ばすには (ID:139784)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
うまく動かすことができるようになりました。 修正版のソースを載せます。 ありがとうございました。 Protected Overrides Function ProcessDataGridViewKey( _ ByVal e As KeyEventArgs) As Boolean If e.KeyCode <> Keys.Enter And e.KeyCode <> Keys.Tab Then Exit Function End If Dim MaxCellCount As Long = (Me.Rows.Count - 1) * Me.Columns.Count Dim BreakCellCount As Long = 0 Dim ColInt As Integer = Me.CurrentCell.ColumnIndex + 1 Dim RowInt As Integer = Me.CurrentCell.RowIndex While (BreakCellCount <= MaxCellCount) For i As Integer = ColInt To Me.Columns.Count - 1 If Me.Rows(RowInt).Cells(i).ReadOnly = False Then Me.CurrentCell = Me.Rows(RowInt).Cells(i) e.Handled = True Return True 'Return MyBase.ProcessDataGridViewKey(e) End If BreakCellCount += 1 Next 'チェックするセルを一番左の列に戻す ColInt = 0 If RowInt < Me.Rows.Count - 1 Then '改行 RowInt += 1 Else Exit While End If End While If Me.CurrentCell.RowIndex = Me.Rows.Count - 1 _ And Me.CurrentCell.ColumnIndex = Me.Columns.Count - 1 Then 'e.Handled = True 'Return Me.ProcessTabKey(e.KeyCode) '***********ここを修正!!*************** Me.FindForm().SelectNextControl(Me.FindForm().ActiveControl, True, True, True, True) End If
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.