Ako používať náhodné farby pre farbu pozadia textového poľa?
textbox1.backcolor = color.**random**;
odpovede:
0 pre odpoveď č. 1Eh, niečo také?
private static Random s_Gen = new Random();
...
// Controls couldn"t be (semi-)transparent, so alpha must be 255
textBox1.BackColor = Color.FromArgb(255, Color.FromArgb(s_Gen.Next()));
1 pre odpoveď č. 2
Použi Random
-trieda, Môžete získať všetky známe farby z System.Drawing.KnownColor
-enum:
KnownColor[] colors = (KnownColor[])Enum.GetValues(typeof(System.Drawing.KnownColor));
colors = Array.FindAll(colors, c => c =! KnownColor.Transparent); // is not allowed
Random r = new Random();
KnownColor randomColor = colors[r.Next(colors.Length)];
textbox1.BackColor = Color.FromKnownColor(randomColor);
Tento kód by ste nemali volať písmenom aslučka, inak vygeneruje vždy rovnaké „náhodné“ číslo, pretože je očkované aktuálnym časom. Namiesto toho znova použite rovnakú náhodnú inštanciu. Takže, ak je to v slučke, deklarujte a inicializujte náhodnú premennú mimo slučky.