Ho copiato dal Wiki questo codice che permette di cambiare il colore dello sfondo della riga selezionata di una GridView
Public Sub Form_Open()
Dim f As Byte
With GridView1
.Columns.Count = 4
.Rows.Count = 4
End With
' All'inizio, comunque, la prima riga assume il colore giallo:
For f = 0 To GridView1.Columns.Max
GridView1[1, f].Background = &FFFF00
Next
End
Public Sub GridView1_MouseDown()
Dim j, k As Byte
' Viene attribuito il colore predefinito a tutte le righe:
With GridView1
For k = 0 To .rows.Max
For j = 0 To .Columns.Max
GridView1[k, j].Background = Color.Default
Next
Next
End With
' Viene quindi attribuito il colore giallo alla riga cliccata:
For j = 0 To GridView1.Columns.Max
With GridView1[GridView1.Row, j]
.Background = &FFFF00
End With
Next
End
Se volessi ottenere lo stesso "effetto" utilizzando anche i tasti direzione freccia sù e freccia giù?
...un possibile codice è questo:
Public Sub Form_Open()
Dim b As Byte
With GridView1
.Columns.Count = 4
.Rows.Count = 4
End With
' All'inizio, comunque, la prima riga assume il colore giallo:
For b = 0 To GridView1.Columns.Max
GridView1[0, b].Background = &FFFF00
Next
GridView1.Row = 0
End
Public Sub GridView1_KeyPress()
Dim j, k As Byte
' Viene attribuito il colore predefinito a tutte le righe:
With GridView1
For k = 0 To .rows.Max
For j = 0 To .Columns.Max
GridView1[k, j].Background = Color.Default
Next
Next
End With
Select Case Key.Code
Case Key.Down
If GridView1.Row + 1 < GridView1.Rows.Count Then
For j = 0 To GridView1.Columns.Max
GridView1[GridView1.Row + 1, j].Background = &FFFF00
Next
Else
For j = 0 To GridView1.Columns.Max
GridView1[GridView1.Row, j].Background = &FFFF00
Next
Endif
Case Key.Up
If GridView1.Row - 1 > -1 Then
For j = 0 To GridView1.Columns.Max
GridView1[GridView1.Row - 1, j].Background = &FFFF00
Next
Else
For j = 0 To GridView1.Columns.Max
GridView1[GridView1.Row, j].Background = &FFFF00
Next
Endif
End Select
End