从数组列表中随机选取颜色
本文关键字:选取 颜色 随机 数组 列表 | 更新日期: 2023-09-27 18:25:54
因此,我正在尝试制作一个函数,使某个标签成为颜色列表中的随机颜色。这是我现在的代码:
ArrayList colors = new ArrayList();
colors.Add(Color.Black);
Random rColor = new Random();
var randomColor = rColor.Next(0, colors.Count);
colorTextLabel.ForeColor = randomColor;
但它只是在代码的最后一行返回一个错误,称"无法将类型int隐式转换为System.Drawing.Color"
这是怎么做到的?
您需要在随机索引中获取项目,目前您正在尝试将int分配给Color:
colorTextLabel.ForeColor = (Color)colors[randomColor];
在可以使用泛型的时候,永远不要使用ArrayList
。
试着这样做:
var colours =
typeof(System.Drawing.Color)
.GetProperties()
.Where(x => x.PropertyType == typeof(System.Drawing.Color))
.Select(x => x.Name)
.ToArray();
colorTextLabel.ForeColor =
System.Drawing.Color.FromName(colours[rColour.Next(0, colours.Length)]);