Type type=typeof(System.Drawing.Color); foreach(System.Reflection.PropertyInfo p in type.GetProperties()) { if(p.PropertyType.Equals(type)) { this.listBox1.Items.Add(p.Name); } }
如果是所有的系统定义颜色则是如下,而不应是ColorType colors = typeof(SystemColors); PropertyInfo[] mbs = colors.GetProperties(BindingFlags.Static | BindingFlags.Public); foreach (PropertyInfo m in mbs) { Console.WriteLine(m.Name); }
foreach(System.Reflection.PropertyInfo p in type.GetProperties())
{
if(p.PropertyType.Equals(type))
{
this.listBox1.Items.Add(p.Name);
}
}
PropertyInfo[] mbs = colors.GetProperties(BindingFlags.Static | BindingFlags.Public);
foreach (PropertyInfo m in mbs)
{
Console.WriteLine(m.Name);
}
System.Windows.Forms.ColorDialog cd=new System.Windows.Forms.ColorDialog();
cd.ShowDialog();
foreach( object colorName in colors ){
ListItem tmp = new ListItem( colorName.ToString() , colorName.ToString());
this.styleColor.Items.Add( tmp );
}http://www.zhangyongjun.com/blog/article.asp?id=189