一般来说,操作.NET自带的有名字的颜色比较方便,因为便于根据名字选择颜色。
通过以下方法实现,获取所有系统颜色的名字及其对应颜色。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| |
List<Color> allSystemColor = new List<Color>();//“系统颜色”集合
List<string> allSystemColorName = new List<string>();//“系统颜色名称”集合
private void getAllColor()//得到所有有名字的系统颜色及其名称
{
foreach (var item in typeof(Color).GetMembers())//遍历所有颜色
{
//只取属性且为属性中的已知Color,剔除byte属性以及一些布尔属性等(A B G R IsKnownColor Name等)
if (item.MemberType == System.Reflection.MemberTypes.Property && System.Drawing.Color.FromName(item.Name).IsKnownColor == true)
{
allSystemColor.Add(System.Drawing.Color.FromName(item.Name));//将颜色加入“系统颜色”集合中
allSystemColorName.Add(System.Drawing.Color.FromName(item.Name).Name);//将对应的颜色名称加入到“系统颜色名称”中,以便方便调用
}
}
}
|