我需要生成随机的颜色名称,例如“红色”,“白色”等如何处理?我能够生成这样的随机颜色:
Random randonGen = new Random();
Color randomColor = Color.FromArgb(randonGen.Next(255), randonGen.Next(255),
randonGen.Next(255));
但是我需要名称,并非所有这样生成的颜色都具有已知名称。
谢谢
最佳答案
使用Enum.GetValue
检索KnownColor
枚举的值并获取随机值:
Random randomGen = new Random();
KnownColor[] names = (KnownColor[]) Enum.GetValues(typeof(KnownColor));
KnownColor randomColorName = names[randomGen.Next(names.Length)];
Color randomColor = Color.FromKnownColor(randomColorName);