2016-08-03 113 views
1

我想在DataGridView中有一个“帮助”游标,但只有第一行到最后一行,不包括列标题。我当前使用的代码显示了datagridview控件上的所有帮助光标 - 列标题和行下的空白空间,因为我在面板中停靠了datagridview。这可能很简单,但我该如何解决这个问题?当我离开DataGridView时,我有代码将光标设置回默认值。只在datagridview行中设置光标

Private Sub DataGridView1_CellMouseMove(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseMove 
    Dim dgv As DataGridView = DataGridView1 
    For r As Integer = 1 To dgv.RowCount - 1 
     Me.Cursor = Cursors.Help 
    Next 
End Sub 

Private Sub DataGridView1_CellMouseLeave(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellMouseLeave 
    Me.Cursor = Cursors.Default 
End Sub 

回答

2

这将改变光标只在单元格上时才有帮助。它不包括标题行和左列以及背景。您可以根据需要更改条件

Private Sub DataGridView1_MouseMove(sender As Object, e As MouseEventArgs) Handles DataGridView1.MouseMove 
    Dim myHitTest = DataGridView1.HitTest(e.X, e.Y) 
    If myHitTest.RowIndex >= 0 AndAlso myHitTest.ColumnIndex >= 0 Then 
     DataGridView1.Cursor = Cursors.Help 
    Else 
     DataGridView1.Cursor = Cursors.Default 
    End If 
End Sub 
+0

您应该将'Me.Cursor'更改为'DataGridView1.Cursor',否则您可以将表单的光标设置为帮助光标。 – TnTinMn

+0

谢谢Verdolino,它像一个魅力! – LuckyLuke82

+0

谢谢TnTinMn,我也改变了。 – LuckyLuke82