Come formattare un ListBox con valore selezionato

April 26

Il controllo ListBox appartiene ad una famiglia di controlli Microsoft .NET che presentano organizzati i dati agli utenti in un elenco. Gli utenti possono visualizzare questi dati in una forma di Windows e selezionare elementi nell'elenco facendo clic su di loro. Un modo per attirare l'attenzione su un elemento selezionato è di formattarla dopo un utente seleziona la voce. A tale scopo, il disegno sovrascrivendo evento "DrawItem" del ListBox. È quindi possibile formattare i valori selezionati in qualsiasi modo tu voglia.

istruzione

1 Avviare la copia di Microsoft Visual Studio, e fare clic su "File". Fai clic su "Nuovo" e quindi su "New Project" per visualizzare la finestra Nuovo progetto.

2 Fare clic su "Visual C # per evidenziarlo, quindi fare doppio clic su" Applicazione Windows Form "per creare un nuovo progetto. Un modulo vuoto viene visualizzato nella finestra di costruzione del progetto.

3 Fare clic su "Visualizza" tasto menu, e quindi fare clic su "Strumenti". Visual Studio apre la finestra Casella degli strumenti. Fare doppio clic sul controllo ListBox si trova nella finestra Casella degli strumenti per posizionare il controllo nel modulo. nome predefinito del ListBox è "listBox1."

4 Fare doppio clic sulla parte superiore del modulo per visualizzare il metodo Load del form. Incollare il seguente codice in quel metodo:

listBox1.DrawMode = DrawMode.OwnerDrawFixed;
for (int x = 1; x <= 6; x ++)
{
ListBox1.Items.Add ( "Sample Item Number" + x.ToString ());
}

La prima dichiarazione indica l'applicazione che si desidera elaborare gli elementi ListBox da soli. I prossimi dichiarazioni popolano il ListBox con dati di esempio. Premere il tasto "F7" per tornare alla finestra di progettazione.

5 Fare clic sul ListBox per selezionarlo, e poi premere il tasto "F4" per aprire la finestra Proprietà. Fare clic sull'icona a forma di fulmine nella parte superiore della window.Visual Studio visualizza l'elenco degli eventi è possibile assegnare alla ListBox. Scorrere l'elenco e fare doppio clic metodo viene eseguito dell'evento event.This "DrawItem" ogni volta che l'applicazione deve ridisegnare la ListBox. Aggiungendo il proprio codice a questo metodo, è possibile controllare il modo in cui l'applicazione disegna il ListBox. Dopo un doppio clic "DrawItem," apre la finestra di codice e visualizza il metodo DrawItem.

6 Incollare il seguente codice in quel metodo:

spazzola = Brushes.Black;

if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
pennello = Brushes.Yellow;
}

e.DrawBackground ();

e.Graphics.DrawString (listBox1.Items [e.Index] .toString (), e.Font, spazzola, e.Bounds, StringFormat.GenericDefault);

La prima istruzione crea un pennello da disegno e imposta il suo colore al nero. L'applicazione utilizza questo colore per disegnare tutti gli elementi nella ListBox tranne l'elemento selezionato. I prossimi controlli istruzione per vedere se l'elemento corrente è l'elemento selezionato esaminando proprietà "DrawItemState" della voce. Se è la voce selezionata, il codice all'interno del "se" per eseguire loop. La prima istruzione all'interno quel ciclo cambia colore del pennello di colore rosso. Modificare questo colore, se vi piace, sostituendo rosso con il nome di un altro colore.

7 Premere il tasto "F5" per eseguire il progetto. Viene visualizzata la ListBox. Fare clic su uno degli elementi nella ListBox. Le piste metodo DrawItem e formatta l'elemento selezionato si-è scelto per il pennello disegno.

Consigli e avvertenze

  • Questo esempio dimostra un semplice effetto di cambiamento di colore creato da alterare il colore elementi font selezionato. È inoltre possibile formattare altre proprietà dell'elemento come il colore di sfondo e il tipo di font. Trova suggerimenti su come realizzare questo ricercando la proprietà ListBox DrawItem o visitando le pagine di aiuto ListBox di Microsoft.