如何在c#中找到一个随机的颜色?
本文关键字:一个 随机 颜色 | 更新日期: 2023-09-27 18:16:26
我正在开发一个游戏应用程序,如果你赢了游戏,屏幕背景会迅速改变颜色。我如何使我的窗口形式的背景显示一个随机的颜色??
我想也许我可以用
Random i = new Random()
方法,但我不太确定如何使用它来制作颜色??
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)
one integer ->从32位ARGB值创建一个颜色结构
three integers -->从指定的8位颜色值(红、绿、蓝)创建一个颜色结构。alpha值隐式地为255(完全不透明)。虽然该方法允许为每个颜色组件传递一个32位的值,但每个组件的值被限制为8位。
- 四个整数-->从四个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);
要使其快速闪现,需要使用循环或计时器来一遍又一遍地重复这段代码