Differenze tra le versioni di "Assegnare colori allo sfondo ed al testo di una riga selezionata di una ListBox"
Riga 1: | Riga 1: | ||
− | Attualmente non è possibile assegnare ''direttamente'' - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ''ListBox''. | + | Attualmente non è possibile assegnare ''direttamente'' - ossia da una proprietà - colori allo sfondo ed al testo <SPAN Style="text-decoration:underline">di una sola riga selezionata</span> di un oggetto ''ListBox''. |
Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ''ListBox'' è composto anche dall'oggetto GridView. Pertanto, si potrà agire sull'oggetto ''GridView'', figlio della ''ListBox'' per impostare il colore dello sfondo della riga selezionata (cliccata) della ''ListBox''; 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. | Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ''ListBox'' è composto anche dall'oggetto GridView. Pertanto, si potrà agire sull'oggetto ''GridView'', figlio della ''ListBox'' per impostare il colore dello sfondo della riga selezionata (cliccata) della ''ListBox''; 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. |
Versione delle 15:15, 8 lug 2016
Attualmente non è possibile assegnare direttamente - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ListBox.
Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ListBox è composto anche dall'oggetto GridView. Pertanto, si potrà agire sull'oggetto GridView, figlio della ListBox per impostare il colore dello sfondo della riga selezionata (cliccata) della ListBox; 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.
Uso della proprietà .RichText dell'oggetto ListBox
Mostriamo un esempio pratico, nel quale utilizzando la proprietà .RichText verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ListBox. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti. Il testo, inoltre, presente in una riga cliccata della ListBox, verrà assegnato ad un altro oggetto, ad una TextLabel.
Public Sub Form_Open() With ListBox1 .Add("alfa") .Add("beta") .Add("gamma") .Add("delta") End With End Public Sub ListBox1_Select() Dim j As Byte Dim ob As Object ' Assegnamo alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ListBox": ob = ListBox1.Children[0] ' Assegnamo i colori di base allo sfondo della "GridView-figlio" e al testo presente nella "ListBox": For j = 0 To ob.Rows.Max ob[j, 0].Background = Color.Default ob[j, 0].Richtext = "" & ListBox1[j].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 "ListBox": ob[ob.Row, 0].RichText = "<FONT Color=#FFFF00><B>" & ListBox1[ob.Row].text TextLabel1.Text = ListBox1.Text End
Uso delle proprietà .Text e .Foreground dell'oggetto ListBox
In quest'altro esempio, simile al precedente, si utilizzeranno le proprietà .Text e .Foreground dell'oggeto ListBox:
Public Sub Form_Open() With ListBox1 .Add("alfa") .Add("beta") .Add("gamma") .Add("delta") End With End Public Sub ListBox1_Select() Dim j As Byte Dim ob As Object ' Assegnamo alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ListBox": ob = ListBox1.Children[0] ' Assegnamo i colori di base allo sfondo della "GridView-figlio" e al testo presente nella "ListBox": For j = 0 To ob.Rows.Max ob[j, 0].Background = Color.Default ob[j, 0].text = ListBox1[j].text ob[j, 0].Foreground = Color.Default 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 "ListBox": ob[ob.Row, 0].Foreground = &FFFF00 End