Connaissez-vous une méthode pour générer une couleur aléatoire (pas un nom de couleur aléatoire!)?
J'en ai déjà un, mais celui-ci ne le fait pas correctement:
Cela ne renvoie que Vert:
Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), r.Next(0, 256), 0);
Cela ne renvoie que Rouge:
Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), 0, 0);
Cela ne renvoie que Blue:
Random r = new Random();
BackColor = Color.FromArgb(0, 0, r.Next(0, 256));
Je veux que mon code retourne une couleur aléatoire, non seulement verte/rouge/bleue à chaque fois, comme les précédentes.
Comment résoudre ça?
Toute suggestion sera approuvée avec joie!
Voici la réponse que j'ai commencé à publier avant de supprimer puis de supprimer votre question:
public partial class Form1 : Form
{
private Random rnd = new Random();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Color randomColor = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256));
BackColor = randomColor;
}
}
La version originale de votre dernière méthode (pré-édition) renverra toutes sortes de couleurs. Je serais sûr d'utiliser un seul objet Random plutôt que d'en créer un nouveau à chaque fois:
Random r = new Random();
private void button6_Click(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.FromArgb(r.Next(0, 256),
r.Next(0, 256), r.Next(0, 256));
Console.WriteLine(pictureBox1.BackColor.ToString());
}
Il produit toutes sortes de couleurs différentes:
Couleur [A = 255, R = 241, G = 10, B = 200]
Couleur [A = 255, R = 41, G = 125, B = 132]
Couleur [A = 255, R = 221, G = 169, B = 109]
Couleur [A = 255, R = 228, G = 152, B = 197]
Couleur [A = 255, R = 50, G = 153, B = 103]
Couleur [A = 255, R = 92, G = 236, B = 162]
Couleur [A = 255, R = 52, G = 103, B = 204]
Couleur [A = 255, R = 197, G = 126, B = 133]