Nwlapcug.com


Come formattare un controllo ListBox con valore selezionato

Il controllo ListBox appartiene a una famiglia di Microsoft.NET controlli che presentano dati organizzati per gli utenti in un elenco. Gli utenti possono visualizzare i dati in un Windows form e selezionare gli elementi nell'elenco facendo clic su loro. Un modo per attirare l'attenzione a un elemento selezionato è di formattarlo dopo che un utente seleziona la voce. Questo scopo di disegno mediante l'override "DrawItem" evento di ListBox. È quindi possibile formattare i valori selezionati in qualsiasi modo che tu voglia.

Istruzioni

1

Lanciare la copia di Microsoft Visual Studio, fare clic su "File". Fare clic su "Nuovo" e quindi fare clic su "Nuovo progetto" per visualizzare la finestra nuovo progetto.

2

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

3

Fare clic sul pulsante di menu "Visualizza" e quindi fare clic su «Strumenti». Visual Studio apre la sua finestra casella degli strumenti. Fare doppio clic sul controllo ListBox situato nella finestra casella degli strumenti per posizionare il controllo sul form. Nome predefinito del controllo ListBox è "listBox1."

4

Fare doppio clic sulla parte superiore del form per visualizzare il metodo Load del form. Tale metodo, incollare il codice riportato di seguito:

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

La prima istruzione indica l'applicazione che si desidera disegnare gli elementi ListBox te stesso. La prossime poche dichiarazioni popolano il controllo ListBox con dati di esempio. Premere "F7" per tornare alla finestra di progettazione.

5

Fare clic su casella di riepilogo per selezionarlo e quindi premere "F4" per aprire la finestra Proprietà. Fare clic sull'icona a forma di come un fulmine nella parte superiore della finestra. Visual Studio consente di visualizzare l'elenco degli eventi che è possibile assegnare al controllo ListBox. Scorrere l'elenco e fare doppio clic sull'evento "DrawItem". Metodo di questo evento viene eseguito ogni volta che l'applicazione deve ridisegnare il controllo ListBox. Aggiungendo il proprio codice a questo metodo, è possibile controllare il modo che l'applicazione disegna il controllo ListBox. Dopo facendo doppio clic "DrawItem", la finestra di codice apre e visualizza il metodo DrawItem.

6

Tale metodo, incollare il codice riportato di seguito:

Spazzola spazzola = Brushes. Black;

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

else;

e.Graphics.DrawString (ListBox1 [sqrt]. ToString (), e.Font, spazzola, e. Bounds, GenericDefault);

La prima istruzione crea un pennello da disegno e imposta il colore nero. L'applicazione utilizza questo colore per disegnare tutti gli elementi nel controllo ListBox tranne l'elemento selezionato. L'istruzione successiva consente di verificare se l'elemento corrente è l'elemento selezionato esaminando la proprietà dell'elemento "DrawItemState". Se è l'elemento selezionato, viene eseguito il codice all'interno del ciclo "se". La prima istruzione all'interno del ciclo cambia il colore del pennello a rosso. Se ti piace sostituendo il rosso con il nome di un altro colore, modificare questo colore.

7

Premere "F5" per eseguire il progetto. Verrà visualizzata la finestra di controllo ListBox. Fare clic su uno degli elementi nel controllo ListBox. Il metodo DrawItem viene eseguito e formatta l'elemento selezionato è-ha scelto per il pennello da disegno.

Consigli & Avvertenze

  • Questo esempio viene illustrato un effetto di cambio colore semplice creato modificando il colore del carattere di elementi selezionati. È inoltre possibile formattare altre proprietà di elementi come tipo di font e colore di sfondo. Trovare suggerimenti su come realizzare questo ricercando la proprietà ListBox DrawItem o visitando ListBox di Microsoft pagine di aiuto.