Eine ListBox mit ausgewählten Wert formatieren

September 25

Das ListBox-Steuerelement gehört zu einer Familie von Microsoft NET-Steuerelementen, die organisierte Daten für Benutzer in einer Liste dargestellt. Benutzer können diese Daten in einem Windows Form anzeigen und wählen Sie Elemente in der Liste, indem sie darauf klicken. Eine Möglichkeit auf ein ausgewähltes Element aufmerksam ist, es zu formatieren, nachdem ein Benutzer das Element auswählt. Dazu Zeichnung durch Überschreiben der ListBox "DrawItem" Ereignis. Sie können dann Ihre ausgewählten Werte in keiner Weise formatieren, die Sie mögen.

Anweisungen

1 Starten Sie Ihre Kopie von Microsoft Visual Studio, und klicken Sie auf "Datei". Klicken Sie auf "Neu", und klicken Sie auf "Neues Projekt" um das Fenster Neues Projekt anzuzeigen.

2 Klicken Sie "Visual c# zu markieren, und doppelklicken Sie dann auf"Windows Forms-Anwendung"erstellen Sie ein neues Projekt. Im Design-Fenster des Projekts wird ein leeres Formular angezeigt.

3 Klicken Sie das Menü "Ansicht" und dann auf "Toolbox." Visual Studio öffnet seine Fenster "Toolbox". Doppelklicken Sie auf das ListBox-Steuerelement befindet sich im Fenster Toolbox auf das Steuerelement auf dem Formular platzieren. Die ListBox Standardname lautet "listBox1."

4 Doppelklicken Sie auf den oberen Rand des Formulars Load-Methode des Formulars anzeigen. Fügen Sie den folgenden Code in diese Methode:

listBox1.DrawMode = DrawMode.OwnerDrawFixed;für (Int X = 1; X < = 6; X ++){listBox1.Items.Add ("Sample Item Number" + x.ToString());}

Die erste Anweisung veranlaßt, die Sie die ListBox-Elemente selbst zu zeichnen möchten. Die nächsten paar Anweisungen Auffüllen die ListBox mit Beispieldaten. Presse "F7" zum Design-Fenster zurückzukehren.

5 Klicken Sie auf das Listenfeld, um es auszuwählen, und drücken Sie dann "F4", das Eigenschaften-Fenster zu öffnen. Klicken Sie das Symbol, geformt wie ein Blitz am oberen Rand des Fensters. Visual Studio zeigt die Liste der Ereignisse, die Sie der ListBox zuweisen können. Durch die Liste scrollen Sie, und doppelklicken Sie auf das Ereignis "DrawItem". Dieses Ereignis-Methode ausgeführt wird, wenn die Anwendung auf ListBox neu zeichnen muss. Diese Methode Ihren eigenen Code hinzufügen, können Sie steuern, wie die Anwendung die ListBox zeichnet. Nach einem Doppelklick "DrawItem", das Codefenster wird geöffnet und zeigt die DrawItem-Methode.

6 Fügen Sie den folgenden Code in diese Methode:

Pinsel Pinsel = Brushes.Black;

Wenn ((e.State & DrawItemState.Selected) == DrawItemState.Selected){Pinsel = Brushes.Yellow;}

e.DrawBackground();

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

Die erste Anweisung erstellt einen Zeichenpinsel und legt seine Farbe auf schwarz. Die Anwendung verwendet diese Farbe, um alle Elemente in der ListBox außer das ausgewählte Element zu zeichnen. Die nächste Anweisung prüft, ob das aktuelle Element das ausgewählte Element ist das Element "DrawItemState"-Eigenschaft. Wenn das ausgewählte Element ist, führt den Code in der Schleife "Wenn". Die erste Anweisung in der Schleife ändert die Farbe des Pinsels in rot. Ändern Sie diese Farbe, wenn Sie mögen, indem Sie den Namen einer anderen Farbe Rot ersetzen.

7 Mit "F5" um das Projekt auszuführen. Die ListBox angezeigt wird. Klicken Sie auf eines der Elemente in der ListBox. Die DrawItem-Methode ausgeführt wird und das ausgewählte Element Sie-Chose für die Zeichenpinsel formatiert.

Tipps & Warnungen

  • Dieses Beispiel zeigt einen einfache Änderung Farbeffekt durch Ändern der Schriftfarbe der ausgewählten Elemente erstellt. Sie können auch andere Eigenschaften wie Farbe und Schriftart Hintergrundtyp formatieren. Finden Sie Tipps, dies zu erreichen, durch die Erforschung der ListBox DrawItem-Eigenschaft oder durch den Besuch von Microsofts ListBox Hilfe-Seiten.