プロが教える店舗&オフィスのセキュリティ対策術

DataGridViewのcellをEnterキーで横移動しています。Enterキーのみ続けて押している場合は、横へ動くのですが、CurrentCellの値を変更しEnterキーを押した場合、新規行のcellに値を入力しEnterキーを押した場合、横ではなく真下のcellへ移動してしまいます。
原因がわかりません。
Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
Try
If (e.KeyCode = Keys.Enter) Then
If (DataGridView1.CurrentCell.ColumnIndex <> DataGridView1.ColumnCount - 1) Then
DataGridView1.CurrentCell = DataGridView1(DataGridView1.CurrentCell.ColumnIndex + 1, DataGridView1.CurrentCell.RowIndex)
e.Handled = True
ElseIf (DataGridView1.CurrentCell.RowIndex <> DataGridView1.RowCount - 1) Then
DataGridView1.CurrentCell = DataGridView1(1, DataGridView1.CurrentCell.RowIndex)
Else
DataGridView1.CurrentCell = DataGridView1(1, 0)
e.Handled = True
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

A 回答 (1件)

お世話になります。



DataGridView を継承して、拡張しましょう。
ProcessDataGridViewKey 等をオーバーライドします。
[[VS2005] DataGridViewのCell移動をEnterで]
http://www.vbstation.net/tips/datagridviewenter. …

この回答への補足

ありがとうございます。
早速、コピーしてclassを2個作ってみましたが、やはり同じ現象で動きません。
私は、何か足りないのか?何かが間違っているのかよく分からないんです。
他にclassを作る以外にする事はありますか?

補足日時:2006/12/25 18:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!