代码之家  ›  专栏  ›  技术社区  ›  Stevie187

枚举类属性并指定该属性的简单方法

  •  0
  • Stevie187  · 技术社区  · 7 年前

    然后我可以用它们填充组合框。然后,第二部分是以编程方式指定笔刷属性,而不必执行查找表。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Janus Pienaar    7 年前

    有关可以使用的颜色名称列表 Reflection :

    Type colorType = typeof(System.Drawing.Color);
    
    PropertyInfo[] propInfoList = colorType.GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public);
    
    var colorNames = propInfoList.Select(c => c.Name);
    

    使用该列表填充组合框

    var brushColor = Color.FromName(selectedColorFromCombo);
    
    var brush = new SolidBrush(brushColor);
    
        2
  •  0
  •   Michał Turczyn    7 年前

    最好的选择是像这样声明枚举数 public enum BrushColor{...} ,列出所有颜色。然后,使用此枚举器,您可以自动填充组合框,然后也可以很容易地根据用户输入确定颜色( switch

    您可以使用反射获得颜色列表:

    Type brushes = typeof(Brushes);
    var colorList = from color in brushes.GetProperties() select color.Name;
    

    将这段代码与开头提到的逻辑相结合,您可以实现所需的结果。