Differenze tra le versioni di "Assegnare colori allo sfondo ed al testo di una riga selezionata di una ListView"
Riga 31: | Riga 31: | ||
For j = 0 To ob.Rows.Max | For j = 0 To ob.Rows.Max | ||
ob[j, 0].Background = Color.Default | ob[j, 0].Background = Color.Default | ||
− | ListView1[j + 1].Richtext = "<FONT Color=#212121>" & listView1[j + 1].text | + | ListView1[CStr(j + 1)].Richtext = "<FONT Color=#212121>" & listView1[j + 1].text |
Next | Next | ||
Riga 38: | Riga 38: | ||
<FONT Color=gray>' ''Assegnamo il colore giallo al testo presente nella riga cliccata della "ListView":''</font> | <FONT Color=gray>' ''Assegnamo il colore giallo al testo presente nella riga cliccata della "ListView":''</font> | ||
− | ListView1[ob.Row + 1].Richtext = "<FONT Color=#FFFF00><B>" & listView1[ob.Row + 1].text | + | ListView1[CStr(ob.Row + 1)].Richtext = "<FONT Color=#FFFF00><B>" & listView1[ob.Row + 1].text |
'''End''' | '''End''' |
Versione delle 07:31, 17 set 2019
Attualmente non è possibile assegnare direttamente - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ListView.
Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ListView è composto anche dall'oggetto GridView. Pertanto, si potrà agire sull'oggetto GridView, figlio della ListView per impostare il colore dello sfondo della riga selezionata (cliccata) della ListView; e si potrà, però, agire sull'item selezionato della ListView (in tal caso l'assegnazione del colore è diretto) per imporre al testo in esso presente il colore prescelto.
Mostriamo un esempio pratico, nel quale verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ListView. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti.
Public Sub Form_Open() With ListView1 .Add("1", "Riga_1") .Add("2", "Riga_2") .Add("3", "Riga_3") .Add("4", "Riga_4") .Add("5", "Riga_5") .Add("6", "Riga_6") .Add("7", "Riga_7") End With End Public Sub ListView1_Select() Dim j As Byte Dim ob As Object ' Assegnamo alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ListView": ob = ListView1.Children[0] ' Assegnamo i colori di base allo sfondo della "GridView-figlio" e al testo presente nella "ListView": For j = 0 To ob.Rows.Max ob[j, 0].Background = Color.Default ListView1[CStr(j + 1)].Richtext = "<FONT Color=#212121>" & listView1[j + 1].text Next ' Assegnamo il colore blu allo sfondo della riga cliccata della "GridView-figlio": ob[ob.Row, 0].Background = &0000FF ' Assegnamo il colore giallo al testo presente nella riga cliccata della "ListView": ListView1[CStr(ob.Row + 1)].Richtext = "<FONT Color=#FFFF00><B>" & listView1[ob.Row + 1].text End