windows - c # nemmeste måde at tegne en linje bag en trackbar

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg laver en applikation i c #, og jeg vil gerne have samme effekt på en trackbar-komponent som i systemvolumenapplikationen i Windows 7 (den grønne linje, der repræsenterer det aktuelle lydniveauudgang).


Jeg vil gerne tegne en grøn linje bag trackbaren afhængigt af nogle logik. Problemet er, at sporbar har en baggrundsfarve, og hvis jeg tegner noget bagved, vil baggrundsfarven male over linjen, og jeg kan ikke t trække over det, fordi det vil male over sporbar skyderen/knappen.


Skal jeg implementere min egen trackbar-farvemetode fra bunden eller er der nogen enklere løsning?

Bedste reference


Jeg havde et lignende problem, og det kan du desværre ikke gøre på styret.
Men det er ret lige frem til at oprette din egen bruger trukket trackbar
kig på denne artikel. [3]


Det, jeg endte med at gøre, var at bruge TrackBarRenderer-klassen til at oprette min egen trackbar. Fordelen ved dette er, at den bruger den samme kode og har derfor samme stil som standard trackbar, men du kan ændre næsten alt om det, der er et eksempel på hvordan man opretter en trackbar ved hjælp af denne stil her. [4]


Hvis du kigger igennem koden, skal du se, at alt du skal gøre er at ændre OnPaint metoden til at male over trackRectangle med en farve efter eget valg.