获取随机颜色

Get Random Color

您知道生成随机颜色的方法吗(不是随机颜色名称!)?

我已经有了一个,但是这个做的不对:

这只有 returns 绿色:

Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), r.Next(0, 256), 0);

这只有 returns 红色:

Random r = new Random();
BackColor = Color.FromArgb(r.Next(0, 256), 0, 0);

这只有 returns 蓝色:

Random r = new Random();
BackColor = Color.FromArgb(0, 0, r.Next(0, 256));

我希望我的代码是 return 一种随机颜色,而不是每次都 green/red/blue,就像上面的那样。

如何解决?

任何建议都会被采纳!

你最后一个方法的原始版本(预编辑)将 return 各种不同的颜色。我肯定会使用单个 Random 对象,而不是每次都创建一个新对象:

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());
}

它会产生各种不同的颜色:

Color [A=255, R=241, G=10, B=200]
Color [A=255, R=41, G=125, B=132]
Color [A=255, R=221, G=169, B=109]
Color [A=255, R=228, G=152, B=197]
Color [A=255, R=50, G=153, B=103]
Color [A=255, R=92, G=236, B=162]
Color [A=255, R=52, G=103, B=204]
Color [A=255, R=197, G=126, B=133]

这是我在您删除然后取消删除您的问题之前开始发布的答案:

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;
    }
}