Bruge variabel til at vælge baggrundsfarve

Tags:    c#


Jeg er ved at lave et program hvor der skal skiftes baggrundsfarve på mange knapper.

Jeg ved at man kan sætte baggrundsfarven sådan:

knap.BackColor = System.Drawing.Color.White;

Jeg har et array med en række forskellige farver, som jeg vil bruge som baggrundsfarver. Det ville være smart hvis man kunne sætte farven noget ala det her:

knap.BackColor = System.Drawing.Color.array[2];


Men man kan åbenbart ikke bruge variabler på den måde i C# - eller hvad?

Er der evt. en anden måde? :)



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Color er en klasse med en masse propertyes så du kan desværre ikke bruge det som et array direkte.

Det du kan gøre er at lægge de colors du skal bruge i et array.
Color[] colors = new Color[] { Color.AliceBlue, Color.Black, Color.Wheat };
Color myColor = colors[0];

EDIT: Jeg er ikke helt sikker på jeg svarer på dit spørgsmål, men vis du viser din kode vil det nok hjælpe :)



Indlæg senest redigeret d. 19.03.2010 22:38 af Bruger #11386
Jeg har ikke lavet koden endnu, udover at jeg har prøvet til frem og tilbage ...

Jeg har også gjort det du skriver - mit spørgsmål går mere på at ændre baggrundsfarven.

Hvis jeg bruger det eksempel du giver, så vil jeg gerne gøre sådan her:

knap.BackColor = System.Drawing.myColor];

- men det giver en fejl...

EDIT: Min fejl, den skal selvfølgelig bare hedde:

knap.BackColor = myColor;

..så virker det:)

Mange tak for hjælpen:D



Indlæg senest redigeret d. 20.03.2010 11:52 af Bruger #15753
Forresten så behøver du ikke bruge System.Drawing.Color hvis du over dit namespace (I usings) skriver "using System.Drawing;"

Så kan du bare skrive Color myColor;



Indlæg senest redigeret d. 20.03.2010 18:51 af Bruger #11386
t