VB2005 DataGridView で選択状態(青色反転)
DataGridViewの件で質問したいのですが。
よろしくお願いします。
VB2005で、DataGridViewの特定のセルが選択されて値が青色反転した
Selectイベントのような状態にしたいのですが。
例えば、下のようなDataGtridViewがあったとして,
例
------------------
|ID | X | Y |
------------------
|001| 100 | |
------------------
|002| 150 | |
------------------
|003| 105 | |
------------------
ID が002の行で、Y列のセルにカーソルが入りXと違う数を入力したら、メッセージを
表示させて、そのセルを青色反転させる処理を作りたいのですが。下の行のセルに
移動してしまいます。
そこで下記のようなコードを書きました。
Private Sub DataTable1DataGridView_CellValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataTable1DataGridView.CellValidating
If e.ColumnIndex <> Me.DataTable1DataGridView.Columns("Y").Index Then Exit Sub
If Me.DataTable1DataGridView("X", e.RowIndex).Value IsNot Nothing AndAlso _
Me.DataTable1DataGridView.EditingControl IsNot Nothing Then
If Not Me.DataTable1DataGridView("X", e.RowIndex).Value.ToString.Equals(Me.DataTable1DataGridView.EditingControl.Text) Then
MsgBox("X <> Y", MsgBoxStyle.OkOnly)
Me.DataTable1DataGridView.BeginEdit(True)
'e.Cancel = True
End If
End If
End Sub
e.cancel = True だとセルにはとどまりますが。セルが選択状態にはなりません。
BeginEdit(True)を使うと下のセルが選択状態になります。
アドバイスいただけたら幸いです。よろしくお願い致します。
開発環境
VB2005
Visual Studio 2005 Standard Edition(SP1)
Windows XP Pro SP2
お礼
violet430を初めとする皆さま 迅速なご教示を有難うございます。全て試してみましたが、いずれも直りませんでした。意識せずなってしまった事なので、システムの復元が必要かと感じています。