Visual Basic er " DrawItem "-metoden gjør det mulig å bygge fantasifulle kontroller. Liste- kontroll, for eksempel , viser elementer i en liste , men du kan bare endre teksten fargen på hvert element i kontrollen. Å lage en forbedret Listeboks som viser et valgt element tekst i en annen farge , må du gjøre en liten endring i Liste- er " DrawItem " metoden. Instruksjoner
Change Text Color of All Items
en
Launch Visual Studio og opprette en ny Visual Basic Windows Forms -prosjekt . En ny form som heter " Form1 " åpner i redigeringsvinduet .
2
Klikk på "View "-knappen , og klikk " Toolbox " for å åpne Visual Studio verktøykasse .
3
Dobbeltklikk på " Liste- " kontroll. Visual Studio plasserer den på skjemaet og navnene det " ListBox1 . "
4
Klikk på " ListBox1 " kontroll og trykk " F4 " for å vise vinduet Egenskaper. I dette vinduet kan du angi en kontroll egenskaper , for eksempel farge og størrelse .
5
Klikk på " ForeColor " eiendom . En drop- down pil vises ved siden av eiendommen . Klikk på denne pilen for å vise en farge meny som inneholder faner . "System "-fanen viser Windows-system farger , den " Web "-kategorien viser listen over Web farger ; . Og " Custom" -fanen kan du velge din egen farge fra en farge grid
6
Klikk på en av disse kategoriene , og deretter klikker du fargen du ønsker å bruke for teksten i alle tekstfelt elementer.
7
Klikk på " BackColor " element i vinduet Egenskaper for å vise sin rullegardinpilen . Klikk på denne pilen for å velge en farge som beskrevet i forrige trinn . Visual Basic bruker deretter fargen du har valgt som bakgrunnsfarge for alle tekstfelt elementer. Fortsett til neste avsnitt hvis du vil endre fargen på bare det valgte Liste- element.
Endre tekstfarge til et valgt element
8
Dobbeltklikk skjemaets tittellinjen. Koden for skjemaets "Load "-metoden åpnes og viser en tom "Load "-metoden
9
Lim inn følgende kode før at metoden er " End Sub " statement : .
ListBox1 . Items.AddRange (New Object ( ) {" Sak 1 " , "Element " , "Element ", " Sak 4 "} )
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
Den første setningen legger til elementer i Liste- . Den neste setningen setter kontrollens tegningsmodi til " OwnerDrawFixed . " . Bruk denne modusen når du ønsker å overstyre Visual Basic sin standard tegnemodusen for en kontroll
10
Lim inn følgende kode etter " Load" metodens " End Sub " statement : en
Privat sub ListBox1_DrawItem ( ByVal avsenderen som objekt , _
ByVal e Som System.Windows.Forms.DrawItemEventArgs ) _
Handles ListBox1.DrawItem
e.DrawBackground ( )
Dim børste Som Brush = Brushes.Black
p Hvis ( e.State Og DrawItemState.Selected = DrawItemState.Selected ) Så
børste = Brushes.Green
End If
e.Graphics.DrawString ( ListBox1.Items ( e.Index ) . toString ( ) , etter
e.Font , pensel, _
e.Bounds , StringFormat.GenericDefault )
End Sub
Denne koden overstyrer Liste- er " DrawItem " metoden. Den " DrawItem "-metoden går hver gang Visual Basic tegner et Liste- element på kontrollen.
11
Finn uttalelse som lyder: " Dim børste Som Brush = Brushes.Black . " Dette kodelinje skaper en " børste " variable som holder fargen på standard tegning pensel. I dette eksempel, er at farge "Black ". Endre " Black" til den fargen du ønsker å bruke for å trekke de nonselected listeboksen elementer. For eksempel, hvis du ønsker å endre standard element farge til rød, erstatte den forrige uttalelse med dette : en
Dim børste Som Brush = Brushes.Red
12
Finn følgende uttalelse i koden : en
børste = Brushes.Green
Erstatt " Green" med hvilken som helst farge . Visual Basic bruker deretter den fargen å trekke Liste- er valgt element . Den endelige uttalelse kaller " snøring "-metoden som trekker listeboksen elementer.
13
Trykk " F5 " for å kjøre programmet . Skjemaet åpnes og viser Liste-og dens elementer. Klikk et element for å velge det. Fargen endres til fargen du valgte for det valgte elementet . Alle andre elementer vise standard farge .