当Mouse快速移出DataGrid时,上面的myHit = DataGrid1.HitTest(e.X, e.Y)
是不能及时响应的,所以还要加下面这个:
Private Sub DataGrid1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.MouseLeave
Me.TextBox1.Text = ""
End Sub
Private Sub DataGrid1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseMove
Dim myHit As DataGrid.HitTestInfo
myHit = DataGrid1.HitTest(e.X, e.Y)
If myHit.Row = -1 OrElse myHit.Column = -1 Then
Me.TextBox1.Text = ""
Else
Me.TextBox1.Text = Me.DataGrid1.Item(myHit.Row, myHit.Column).ToString
End If
End Sub
Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
Dim myGrid As DataGrid = CType(sender, DataGrid)
Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
hti = myGrid.HitTest(e.X, e.Y)
TextBox1.Text = DataGrid1.Item(hti.Row, hti.column)