Visual Basic " DrawItem " methode kunt u fantasierijke controles te bouwen . De ListBox control, bijvoorbeeld , geeft items in een lijst , maar kunt u alleen veranderen de tekstkleur van elk item in de controlegroep . Tot een verbeterde ListBox die tekst een geselecteerd item wordt weergegeven in een andere kleur te maken , moet je een kleine verandering aan de ListBox 's " DrawItem " -methode te maken . Instructies Verandering Tekstkleur van alle items Launch Visual Studio 1 en maak een nieuwe Visual Basic Windows Forms project . Een nieuwe vorm genaamd " Form1 " opent in het venster bewerken . Kopen van 2 Klik op de " View " knop , en klik op ' Toolbox ' voor Visual Studio 's gereedschapskist te openen . 3 Dubbelklik op het " ListBox " controle . Visual Studio plaatst het op het formulier en noemt het " ListBox1 . " 4 Klik op de " ListBox1 " control en druk op " F4 " om het venster Eigenschappen te bekijken . In dit venster kunt u de eigenschappen van een besturingselement , zoals kleur en grootte in te stellen . 5 Klik op de " ForeColor " eigenschap . Een drop -down pijl verschijnt naast de woning . Klik op de pijl om een kleur menu met tabbladen openen . Het tabblad " Systeem " geeft u de Windows -systeem kleuren en het tabblad "Web " toont de lijst van Web kleuren ; . En het tabblad 'Aangepast ' kunt u uw eigen kleur uit een kleur raster te kiezen 6 Klik op een van deze tabbladen , klik vervolgens op de kleur die u wilt gebruiken voor de tekst van alle ListBox items . 7 Klik op de " BackColor " in het venster Eigenschappen aan de vervolgkeuzepijl weergegeven . Klik op de pijl om een kleur te kiezen , zoals beschreven in de vorige stap . Visual Basic gebruikt dan de kleur die je geselecteerd hebt als de achtergrondkleur voor alle ListBox items . Ga verder naar het volgende gedeelte als u wilt de kleur van alleen de geselecteerde ListBox artikel . Verandering Tekstkleur van een geselecteerd item 8 wijzigen Dubbelklik op het formulier titelbalk . De code voor " Load " -methode van het formulier wordt geopend en toont een lege " Load " -methode 9 Plak de volgende code voordat 's die methode "End Sub " statement : . ListBox1 . Items.AddRange ( New Object ( ) { "Item 1 " , " Item" , " Item" , " punt 4 " } ) ListBox1.DrawMode = DrawMode.OwnerDrawFixed Het eerste statement voegt items aan de ListBox . De volgende verklaring stelt het tekenen modus van de controle op " OwnerDrawFixed . " . Gebruik deze modus als u wilt Visual Basic de standaard tekening modus overschrijven voor een controle 10 Plak de volgende code na de " Load " methode " End Sub " statement : Prive sub ListBox1_DrawItem ( ByVal afzender als Voorwerp , _ ByVal e als System.Windows.Forms.DrawItemEventArgs ) _ Handles ListBox1.DrawItem e.DrawBackground ( ) < br Dim borstel Zoals borstel = Brushes.Black > Als ( e.State En DrawItemState.Selected = DrawItemState.Selected ) borstel dan = Brushes.Green end If e.Graphics.DrawString ( ListBox1.Items ( e.Index ) . ToString ( ) , e.Font , borstel , _ e.Bounds , StringFormat.GenericDefault ) End Sub Deze code overschrijft " DrawItem " methode van de ListBox 's . De " DrawItem " methode loopt elke keer Visual Basic tekent een ListBox item in de controle . 11 Zoek de verklaring dat leest, " Dim borstel als Brush = Brushes.Black . " Deze lijn van code wordt een " borstel" variabele die de kleur van de standaard tekening borstel houdt . In dit geval , die kleur is "Black . " Verander " Black " om de kleur die u wilt gebruiken om de niet-geselecteerde listbox items te trekken . Bijvoorbeeld , als je wilt om de standaardoptie kleur naar rood , vervangt de eerdere verklaring met dit : Dim borstel Zoals Borstel = Brushes.Red 12 Zoek de volgende verklaring in de code : borstel = Brushes.Green Vervang " Groen " met een willekeurige kleur . Visual Basic gebruikt dan die kleur aan de ListBox het geselecteerde item te tekenen . De slotverklaring roept de " trekkoord " methode die de ListBox items trekt . Druk op "F5 " 13 aan het programma uit te voeren . Het formulier wordt weergegeven met de ListBox en de items . Klik op een item om het te selecteren . De kleur verandert naar de kleur die u koos voor het geselecteerde item . Alle andere items weer de standaard kleur .
|