如何在c#中找到一个随机的颜色?

本文关键字:一个 随机 颜色 | 更新日期: 2023-09-27 18:16:26

我正在开发一个游戏应用程序,如果你赢了游戏,屏幕背景会迅速改变颜色。我如何使我的窗口形式的背景显示一个随机的颜色??

我想也许我可以用

Random i = new Random() 

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

如何在c#中找到一个随机的颜色?

try in this way

private static Random rand = new Random();
color= Color.FromArgb(this.rand.Next(256), this.rand.Next(256), this.rand.Next(256));

有关Color的文档请参阅此处。FromArgb

你可以用这个函数在3种不同的重载中创建颜色(只使用int32)

  1. one integer ->从32位ARGB值创建一个颜色结构

  2. three integers -->从指定的8位颜色值(红、绿、蓝)创建一个颜色结构。alpha值隐式地为255(完全不透明)。虽然该方法允许为每个颜色组件传递一个32位的值,但每个组件的值被限制为8位。

  3. 四个整数-->从四个ARGB组件(alpha,红色,绿色和蓝色)值创建一个颜色结构。虽然该方法允许为每个组件传递一个32位的值,但每个组件的值被限制为8位。
Random rnd = new Random();
Color c = Color.FromArgb(rnd.Next(0xFFFFFF + 1)); // assuming you do not want any transparency

我最近就这么做了!下面是一个代码片段。您需要使用Hexideximal代码

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

要使其快速闪现,需要使用循环或计时器来一遍又一遍地重复这段代码