.net 在鼠标输入时更改单个单元格的前景色?

.net 在鼠标输入时更改单个单元格的前景色?,.net,vb.net,winforms,datagridview,.net,Vb.net,Winforms,Datagridview,可以在鼠标输入时更改单元格的前景色吗?我可以在鼠标输入时更改所有单元格的前景色,但我只想在鼠标输入时更改每个单元格的前景色 以下是如何做到这一点: Private Sub myGrid_CellMouseEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles myGrid.CellMouseEnter myGrid.DefaultCellStyle.F

可以在鼠标输入时更改单元格的前景色吗?我可以在鼠标输入时更改所有单元格的前景色,但我只想在鼠标输入时更改每个单元格的前景色

以下是如何做到这一点:

Private Sub myGrid_CellMouseEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles myGrid.CellMouseEnter
    myGrid.DefaultCellStyle.ForeColor = Color.DarkRed
End Sub
您可以处理并首先检查单元格是否不是标题单元格,然后将单元格样式的前颜色设置为所需颜色:

Private Sub myGrid_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) _
    Handles myGrid.CellMouseEnter
    If (e.ColumnIndex < 0 OrElse e.RowIndex < 0) Then Return
    Dim cell = myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
    cell.Style.ForeColor = Color.Red
End Sub

Private Sub myGrid_CellMouseLeave(sender As Object, e As DataGridViewCellEventArgs) _
    Handles myGrid.CellMouseLeave
    If (e.ColumnIndex < 0 OrElse e.RowIndex < 0) Then Return
    Dim cell = myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
    cell.Style.ForeColor = Color.Black
End Sub
私有子myGrid\u CellMouseEnter(发送方作为对象,e作为DataGridViewCellEventArgs)_
处理myGrid.CellMouseEnter
如果(e.ColumnIndex<0或e.RowIndex<0),则返回
Dim cell=myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
cell.Style.ForeColor=颜色.红色
端接头
私有子myGrid_CellMouseLeave(发送方作为对象,e作为DataGridViewCellEventArgs)_
处理myGrid.CellMouseLeave
如果(e.ColumnIndex<0或e.RowIndex<0),则返回
Dim cell=myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
cell.Style.ForeColor=颜色.黑色
端接头
您可以处理并首先检查单元格是否为标题单元格,然后将单元格样式的前颜色设置为所需颜色:

Private Sub myGrid_CellMouseEnter(sender As Object, e As DataGridViewCellEventArgs) _
    Handles myGrid.CellMouseEnter
    If (e.ColumnIndex < 0 OrElse e.RowIndex < 0) Then Return
    Dim cell = myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
    cell.Style.ForeColor = Color.Red
End Sub

Private Sub myGrid_CellMouseLeave(sender As Object, e As DataGridViewCellEventArgs) _
    Handles myGrid.CellMouseLeave
    If (e.ColumnIndex < 0 OrElse e.RowIndex < 0) Then Return
    Dim cell = myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
    cell.Style.ForeColor = Color.Black
End Sub
私有子myGrid\u CellMouseEnter(发送方作为对象,e作为DataGridViewCellEventArgs)_
处理myGrid.CellMouseEnter
如果(e.ColumnIndex<0或e.RowIndex<0),则返回
Dim cell=myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
cell.Style.ForeColor=颜色.红色
端接头
私有子myGrid_CellMouseLeave(发送方作为对象,e作为DataGridViewCellEventArgs)_
处理myGrid.CellMouseLeave
如果(e.ColumnIndex<0或e.RowIndex<0),则返回
Dim cell=myGrid.Rows(e.RowIndex).Cells(e.ColumnIndex)
cell.Style.ForeColor=颜色.黑色
端接头

啊,以秒为准:)我能说的就是+1,你可以使用
OrElse
优先于
。啊,以秒为准:)我能说的就是+1,你可以使用
OrElse
优先于