Quantcast
Channel: Windows Mobile – .NET Compact Framework (VB, C#) フォーラム
Viewing all articles
Browse latest Browse all 80

DataGridのUp/Downキーを無効にしたい

$
0
0

.NET Compact Framework 3.5 にて、DataGrid を利用しています。(VB.NET)


DataGrid上にフォーカスがあるとき、↑キーや↓キーの制御を自前で制御したいので無効にしたいのですが、 DataGrid の KeyDown イベントで e.Handled = True にしても効果が無く困っています。

KeyDown イベントで Up/Down のKeyCodeを捕捉はできるのですが、捕捉したときには既に勝手にセルを移動してしまっているようなのです。


やりたい事としては、DataGridの先頭行にフォーカスがあるときと、DataGridの最終行にフォーカスがあるときに、他のコントロールにフォーカスを移動させたいため、自前で処理したいのです。

解決方法をご存じの方、よろしくお願いいたします。


以下、効果のなかったコード

Private Sub DataGrid1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGrid1.KeyDown

    Select Case e.KeyCode
        Case Keys.Up
                e.Handled = True
                '先頭行の場合TextBox1にフォーカス移動
                If DataGrid1.CurrentCell.RowNumber = 0 Then
                        TextBox1.Focus()
                End If
        Case Keys.Down                    
                e.Handled = True
                '3行目の場合TextBox2にフォーカス移動
                If DataGrid1.CurrentCell.RowNumber = 2 Then
                        TextBox2.Focus()
                End If
    End Select

End Sub



Viewing all articles
Browse latest Browse all 80

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>