我正在尝试用 system.drwaing.color 项目填充我的列表以选择随机颜色并将其设置为 backColor。
这是我的代码:
List<Color> myList = new List<Color>();
//rc.Add(Color.Chartreuse);
//rc.Add(Color.DeepSkyBlue);
//rc.Add(Color.MediumPurple);
foreach (Color clr in System.Drawing.Color)
{
//error
}
Random random = new Random();
Color color = myList[random.Next(myList.Count - 1)];
this.BackColor = color;
错误: “System.Drawing.Color”是一种“类型”,在给定上下文中无效
谁能帮帮我?
最佳答案
public static List<Color> ColorStructToList()
{
return typeof(Color).GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public)
.Select(c => (Color)c.GetValue(null, null))
.ToList();
}
List<Color> colorList = ColorStructToList();
private void randomBackgroundColorButton_Click(object sender, EventArgs e)
{
List<Color> myList = ColorStructToList();
Random random = new Random();
Color color = myList[random.Next(myList.Count - 1)];
this.BackColor = color;
}
public static List<Color> ColorStructToList()
{
return typeof(Color).GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public)
.Select(c => (Color)c.GetValue(null, null))
.ToList();
}
关于C# - 如何在列表中添加所有 system.drawing.color 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130756/