VB.NETのデータグリッドで、ENTERキーにより次(右)のセルへ移動する
方法は(インターネット上のサンプルコードを参考にして、)
データグリッドの派生クラスを作成し、次のコードで実現できました。
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If msg.WParam.ToInt32() = CInt(Keys.Enter) Then
SendKeys.Send("{Tab}")
Return True
End If
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
最終列以外ではこれでOKなのですが、今回は最終列で一行上の先頭セルへ
移動させたいので、
最終列以外=TABキーを強制送信
最終列=SHIFT+TABキーを強制送信
しようと思うのですが、”最終列”という判定をどうすればよいか
分かりません。
行は下から上へ、列は左から右へ移動する方法です。
よろしくお願いします。
すいません、自己レスです。
勘違いでした。
> 最終列=SHIFT+TABキーを強制送信
をしてもだめですよね。
もう一度出直します。
ツイート | ![]() |