DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridView Enterで隣のセルに移動

環境/言語:[Visual Studio 2010]
分類:[.NET]

DataGridViewで、Enterキーで隣のセルに移動するロジックを、以下の方法で組んでいます。

Private Sub DataGridView1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{TAB}")
e.Handled = True
End If
End Sub

編集が無いセルはこれで問題ないのですが、編集中にEnterキーで確定すると、隣ではなく下のセルにフォーカスが移動してしまいます。
編集中にEnterキーで確定したときにも、同様に隣のセルに移動するにはどうすればいいでしょうか。
■No32368に返信(まいこさんの記事)
> DataGridViewで、Enterキーで隣のセルに移動するロジックを、以下の方法で組んでいます。
> 編集が無いセルはこれで問題ないのですが、編集中にEnterキーで確定すると、隣ではなく下のセルにフォーカスが移動してしまいます。
> 編集中にEnterキーで確定したときにも、同様に隣のセルに移動するにはどうすればいいでしょうか。
>

以下のページに3通りの方法があります。試してみればどうですか?
実際は2つはリンク先を示しているだけですが、ないよりは良いかと思いました。
詳しく読んでいないので、編集終了後に隣のセルに移動するようになっているかどうかはわかりません
http://dobon.net/vb/dotnet/datagridview/enterkeymoveright.html

ただ、昔のことですが、ReadOnly や Visible==false のセルにはフォーカス移動させないようにしようとしてかなり苦労した覚えがあります。
しまさん
教えて頂いたサイトの方法では、編集セルでない場合のみ有効でした。
■No32371に返信(まいこさんの記事)
> しまさん
> 教えて頂いたサイトの方法では、編集セルでない場合のみ有効でした。

そうでしたか、これはどうでしょうか?
http://d.hatena.ne.jp/keuko/20120913
http://winofsql.jp/VA003334/dnettool091018232503.htm

お役に立てなかったらごめんなさい
■No32372に返信(しまさんの記事)
こういうのはどうでしょうか?
http://dobon.net/vb/dotnet/datagridview/enterkeymoveright.html
# 回答に非ず

■No32433に返信(数学博士さんの記事)
> こういうのはどうでしょうか?
> http://dobon.net/vb/dotnet/datagridview/enterkeymoveright.html

No32370 と同じ URL であるように見えますね。

もしも見落としてではなく、意図的な再掲であるのなら、元質問者殿からの
返答 No32371 に対する追加説明が必要かと思いますよ。>数学博士さん

DOBON.NET | プログラミング道 | プログラミング掲示板