一般来说,操作.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);//将对应的颜色名称加入到“系统颜色名称”中,以便方便调用 } } } |