Visual Basic " DrawItem "-Methode ermöglicht es Ihnen, phantasievolle Kontrollen zu bauen. Das ListBox-Steuerelement , z. B. zeigt Elemente in einer Liste , aber Sie können nur den Text ändern, Farbe jedes Element im Steuerelement . Um eine verbesserte ListBox , dass ein ausgewählter Artikel der Text zeigt in einer anderen Farbe zu erstellen , müssen Sie eine kleine Änderung an der ListBox " DrawItem "-Methode zu machen. Anleitung
Textfarbe aller Elemente
1
Starten Sie Visual Studio, und erstellen Sie ein neues Visual Basic Windows Forms-Projekt . Ein neues Formular mit dem Namen " Form1 " wird im Editor-Fenster .
2
Klicken Sie auf die Schaltfläche "View" , dann auf " Werkzeuge ", um Visual Studio Toolbox zu öffnen .
3
Doppelklicken Sie auf das " ListBox "-Steuerung . Visual Studio legt es auf die Form und den Namen it " ListBox1 . "
4
Klicken Sie auf " ListBox1 " Steuerung und drücken Sie "F4 ", um das Fenster Eigenschaften anzuzeigen. In diesem Fenster können Sie die Eigenschaften eines Steuerelements , wie Farbe und Größe gesetzt .
5
Klicken Sie auf " ForeColor " Eigenschaft . Ein Dropdown- Pfeil wird neben dem Grundstück. Klicken Sie auf diesen Pfeil, um ein Menü mit Farbe Registerkarten anzuzeigen. Die Registerkarte "System" zeigt Windows System Farben; das Register "Web" zeigt die Liste der Web Farben; . Und das Tab "Benutzerdefiniert" können Sie Ihre eigene Farbe aus einem Farb-Raster wählen
6
Klicken Sie auf eine dieser Registerkarten , dann klicken Sie auf die Farbe, die Sie für den Text aller ListBox Elemente verwenden würde .
7
Klicken Sie auf die " BackColor " Artikel in der Eigenschaften- Fenster auf die Dropdown-Pfeil angezeigt . Klicken Sie auf diesen Pfeil, um eine Farbe zu wählen , wie im vorherigen Schritt beschrieben. Visual Basic verwendet dann die Farbe, die Sie als Hintergrundfarbe für alle ListBox Elemente ausgewählt haben . Fahren Sie mit dem nächsten Abschnitt, wenn Sie die Farbe nur der ausgewählte Artikel ListBox .
Textfarbe eines ausgewählten Elements
8
ändern möchten Doppelklicken Sie auf das Formular Titelleiste. Der Code für das Formular "Load "-Verfahren wird geöffnet und zeigt eine leere "Load "-Verfahren
9
Fügen Sie den folgenden Code vor , die Methode "End Sub "-Anweisung : .
ListBox1 . Items.AddRange (New Object () { "Item 1", " Item" , "Item" , "Item 4 "} )
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
Die erste Aussage fügt der ListBox Elemente . Die nächste Anweisung setzt das Steuerelement zeichnen auf " OwnerDrawFixed . " .
Privat: Verwenden Sie diesen Modus, wenn Sie Visual Basic- Standard- Zeichnung -Modus für ein Steuerelement überschreiben wollen
10
den folgenden Code nach der "Load "-Methode der "End Sub "-Anweisung einfügen Sub ListBox1_DrawItem (ByVal sender As Object, _ ByVal e
Wie System.Windows.Forms.DrawItemEventArgs ) _
Griffe ListBox1.DrawItem
e.DrawBackground () < br >
Dim Bürste Pinsel = Brushes.Black
( e.State Und DrawItemState.Selected = DrawItemState.Selected ) Dann
Pinsel = Brushes.Green
End If
e.Graphics.DrawString ( ListBox1.Items ( e.Index ) . ToString ( ), Stand
e.Font , Pinsel, _
e.Bounds , StringFormat.GenericDefault )
End Sub