|
■No55699 (bagabond さん) に返信 DataGridViewのReadOnlyセルをスキップする方法。解決しました。
CellEnterイベントプロシージャで、SendKeys.Send("{Tab}")メソッドを実行するやり方では、タイムラグがあるのか動作が安定していなかったので質問したのですが、ネットにあった参考例の通りプログラムしたら、問題なく動作しました。
Private Sub DataGridView_CellEnter(ByVal sender AS Object, ByVal e AS ・・・・ Dim oDGV as DataGridView = DirectCast(sender, DataGridView) Dim oDGCell As DataGridViewCell = DirectCast(oDGV.Item(e.ColumnIndex, e.RowIndex), DataGridViewCell)
If oDGCell IsNot Nothing AndAlso oDGVCell.ReadOnly Then SendKeys.Send("{Tab}") <- Backの場合は"+{Tab}" End If
End Sub
理由はわかりませんが、DataGridViewCellの参照でDirectCastを指定しない場合や以下のような参照の仕方では、動作が安定しないようです。(私の環境で) Dim oDGCell As DataGridViewCell = oDGV.Rows(e.RowIndex).Cells(e.ColumnIndex)
|