- PR -

VB CurrentCellの指定について

1
投稿者投稿内容
Fumo
会議室デビュー日: 2003/09/21
投稿数: 11
投稿日時: 2006-09-08 15:16
いろいろと悩んではみたのですが、行き詰ってしまいました

DataGridViewで入力した値によって、セルの移動先が変わるというプログラムをしたいのですが、デバックで動作を見てみると

 現在のセル→指定したセル→現在のセルの右隣(TABキーで本来移動する先?)

と移動しているようです。指定したセルに移動したあとに、通常でTABキーをおしたときに移動する先に戻ってしまっているのだと考えているのですが、どうすればその動作を止められるかわからない状態です。

DataGridViewでTextBox列(0,1,2)3つの、データバインドなしの状態です。
MessageBoxは (0,0) → (0,2) と表示されますが、おそらくこのあとに
(0,1)に移動してしまっているようです。

DataGridView1_CellValueChangedイベントです

If Not (Me.DataGridView1.CurrentCell Is Nothing) Then

MessageBox.Show(Me.DataGridView1.CurrentCell.RowIndex_
& " / " & Me.DataGridView1.CurrentCell.ColumnIndex)

Me.DataGridView1.CurrentCell =_
Me.DataGridView1.Rows(e.RowIndex).Cells(2)

MessageBox.Show(Me.DataGridView1.CurrentCell.RowIndex_
& " / " & Me.DataGridView1.CurrentCell.ColumnIndex)
End If


CellValidatingだと、
e As System.Windows.Forms.DataGridViewCellValidatingEventArgs
があるので、e.cansel=True としてしまえるのですが、
CurrentCellを指定することでもValidatingを呼び出すので、無限LOOPに突入してしまいました。

以上のような状態です。よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)