Nwlapcug.com


Come cambiare il colore del testo degli elementi ListBox in Visual Basic

Metodo "DrawItem" di Visual Basic consente di creare controlli fantasiosi. Il controllo ListBox, ad esempio, Visualizza gli elementi in un elenco; Tuttavia, è possibile modificare solo il colore del testo di ogni elemento nel controllo. Per creare un oggetto ListBox avanzata che consente di visualizzare il testo di un elemento selezionato in un colore diverso, è necessario apportare una piccola modifica al metodo "DrawItem" del controllo ListBox.

Istruzioni

Cambiare il colore del testo di tutti gli elementi

1

Avviare Visual Studio e creare un nuovo progetto Windows Form di Visual Basic. Un nuovo modulo denominato "Form1" si apre nella finestra di modifica.

2

Fare clic sul pulsante "Visualizza", quindi fare clic su "Strumenti" per aprire la casella degli strumenti di Visual Studio.

3

Fare doppio clic sul controllo "ListBox". Visual Studio inserisce il modulo e lo nomina "ListBox1."

4

Fare clic sul "ListBox1" e premere "F4" per visualizzare la finestra Proprietà. Questa finestra consente di impostare le proprietà di un controllo, ad esempio colore e dimensione.

5

Fare clic sulla proprietà "ForeColor". Viene visualizzata la finestra di una freccia a discesa accanto alla proprietà. Fare clic su tale freccia per visualizzare un menu di colore contenente le schede. La scheda "Sistema" consente di visualizzare colori di sistema di Windows; la scheda "Web" consente di visualizzare l'elenco dei colori Web; e la scheda di "Custom" consente di scegliere il proprio colore da una griglia di colore.

6

Fare clic su una di queste schede, quindi fare clic sul colore che si desidera utilizzare per il testo di tutti gli elementi del controllo ListBox.

7

Fare clic sull'elemento "BackColor" nella finestra proprietà per visualizzare la freccia a discesa. Fare clic sulla freccia per scegliere un colore come descritto nel passaggio precedente. Visual Basic utilizza quindi il colore selezionato come colore di sfondo per tutti gli elementi del controllo ListBox. Se si desidera modificare il colore del solo elemento ListBox selezionato, procedere alla sezione successiva.

Cambiare il colore del testo dell'elemento selezionato

8

Fare doppio clic sulla barra del titolo del form. Il codice per il metodo del form "Carico" apre e visualizza un metodo vuoto "Carico".

9

Incollare il codice seguente prima istruzione "End Sub" del metodo:

ListBox1.Items.AddRange (New Object () {"Item 1", "Elemento", "Articolo", "articolo 4"})

ListBox1.DrawMode = OwnerDrawFixed

La prima istruzione aggiunge elementi al controllo ListBox. L'istruzione successiva Imposta modalità di disegno del controllo "Su OwnerDrawFixed." Utilizzare questa modalità quando si desidera eseguire l'override di modalità per un controllo di disegno di default di Visual Basic.

10

Incollare il codice seguente dopo "End Sub" istruzione del metodo "Load":

Private Sub ListBox1DrawItem (ByVal sender As Object,

_ ByVal e As System.Windows.Forms.DrawItemEventArgs)

Maniglie ListBox1.DrawItem

else

Dim pennello Brush = Brushes.

Se (state e DrawItemState. Selected = DrawItemState. Selected) quindi

pennello = Brushes

End If

e.Graphics.DrawString(ListBox1.Items(e.Index). ToString (),

e.Font, spazzola _

e. Bounds, GenericDefault)

End Sub

Questo codice esegue l'override di metodo "DrawItem" del controllo ListBox. Il metodo "DrawItem" viene eseguito ogni volta che Visual Basic disegna un elemento ListBox sul controllo.

11

Individuare l'istruzione che legge, "Dim brush As Brush = Brushes." Questa riga di codice crea una variabile "pennello" che contiene il colore del pennello da disegno predefinito. In questo caso, che il colore è "Nero". Modificare "Nero" per il colore che si desidera utilizzare per disegnare gli elementi listbox nonselected. Per esempio, se si desidera modificare il colore dell'elemento predefinito in rosso, è possibile sostituire l'istruzione precedente con questo:

Dim pennello Brush = Brushes. Red

12

Individuare la seguente istruzione nel codice:

pennello = Brushes

Sostituire "Verde" con qualsiasi colore. Visual Basic utilizza quindi che colore per disegnare il controllo ListBox attualmente selezionata. L'istruzione finale chiama il metodo "Coulisse" che disegna gli elementi ListBox.

13

Premere "F5" per eseguire il programma. Il modulo verrà visualizzata e il controllo ListBox e i relativi elementi. Fare clic su qualsiasi elemento per selezionarlo. Il suo colore cambia al colore che scelto per l'elemento selezionato. Tutti gli altri elementi visualizzare il colore predefinito.

Consigli & Avvertenze

  • Utilizzare funzionalità "Intellisense" di Visual Studio per aiutarvi a scegliere i nomi dei colori quando vengono aggiunti al metodo "DrawItem". Considerare questa affermazione che nel metodo: "Dim brush As Brush = Brushes." Quando si digita il punto dopo "Pennelli.", un menu viene visualizzato e vengono visualizzati tutti i colori disponibili. Scheda a quello che si desidera utilizzare e premere "Invio" per selezionarlo. Visual Basic ora aggiorna la riga di codice per voi.