如何在C#中找到随机颜色

时间:2014-08-04 21:35:48

标签: c# colors background

我正在研究游戏应用程序,如果你赢了游戏,屏幕的背景会迅速改变颜色。我如何使我的窗体背景显示随机颜色?

我可能也许可以使用

Random i = new Random() 

方法,但我不太确定如何使用它来制作颜色?

3 个答案:

答案 0 :(得分:2)

Random rnd = new Random();
Color c = Color.FromArgb(rnd.Next(0xFFFFFF + 1)); // assuming you do not want any transparency

答案 1 :(得分:2)

以这种方式尝试

private static Random rand = new Random();

color= Color.FromArgb(this.rand.Next(256), this.rand.Next(256), this.rand.Next(256));

请参阅此处了解有关Color.FromArgb

的文档

您可以使用此功能(仅使用int32)在3个不同的重载中创建颜色

  1. 一个整数 - >从32位ARGB值创建Color结构。

  2. 三个整数 - >根据指定的8位颜色值(红色,绿色和蓝色)创建颜色结构。 alpha值隐式为255(完全不透明)。虽然此方法允许为每个颜色分量传递32位值,但每个分量的值限制为8位。

  3. 四个整数 - >从四个ARGB组件(alpha,red,green和blue)值创建Color结构。虽然此方法允许为每个组件传递32位值,但每个组件的值限制为8位。

答案 2 :(得分:0)

我最近这样做了!这是一段代码片段。您需要使用Hexygenximal代码

 string color = "";
                Random rand = new Random();
                color = string.Format("#{0}{1}{2}{3}{4}{5}", rand.Next(0, 9), rand.Next(0, 9), rand.Next(0, 9), rand.Next(0, 9), rand.Next(0, 9), rand.Next(0, 9));
            this.BackColor = System.Drawing.ColorTranslator.FromHtml(color);

要快速闪烁,你需要使用循环或计时器反复重复此代码