C# - 如何在列表中添加所有 system.drawing.color 项目?

标签 c# list random colors

我正在尝试用 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/

相关文章:

c# - MVC ActionFilterAttribute 但仅在主视图上

python - 从列表中删除重复元素,但只删除那些重复元素为奇数的元素

Python将列表中的每个元素按 '\n'分割并将列表从2D扩展到3D

python - 阐明 python del 如何处理列表和切片

python - scipy.stats 种子?

c++ - 从随机范围中排除一个数字

C# 复制到剪贴板

c# - 获取枚举的名称

r - 在R中以随机顺序分组匹配数字

c# - 分页在 MVC Webgrid 中不起作用