2010-01-09 49 views
1

到任何...爲了所有,PropertyGrid中,默認值,未知色彩

我的屬性網格是檢查有幾種顏色屬性的類...

的顏色是不繫統的顏色,也沒有「已知「顏色...

當顯示的顏色在網格中的文本值可能是這樣的:

209, 175, 171 

如何定義[屬性]屬性,這樣,當這種顏色町這個PropertyGrid理解默認顏色已經被選中了嗎?

我曾嘗試:

[DefaultValue(typeof(Color),"209 , 175, 171")] 
[DefaultValue(typeof(Color),"209,175,171")] 

至今沒有運氣...

感謝您的幫助......

這個網站的岩石......它幫助我比任何更多其他網站,因爲我跋涉通過這個項目...

卡森

回答

2

我剛試過這個在Windows窗體應用程序,它工作正常。這裏是我的整個應用程序:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) { 
     propertyGrid1.SelectedObject = new Foo(); 
    } 
} 

public class Foo { 
    [DefaultValue("foo")] 
    public string MyString { get; set; } 

    [DefaultValue(typeof(Color), "209 , 175, 171")] 
    public Color MyColor { get; set; } 
} 

我的表單上有一個PropertyGrid控制默認形式。

當顏色設置爲209,175,171時,它顯示爲正常文本。如果我改變任何值,它會顯示爲粗體。同樣,當字符串設置爲任何文本時,它都是粗體,當我將它設置爲「foo」時,它會以正常文本顯示。

使用非默認值:

alt text http://i48.tinypic.com/2ch3yx4.png

使用默認值:

alt text http://i49.tinypic.com/j8zeir.png

+0

這是奇怪的...... 當你在冷杉之後加入額外的空白t值的字符串它的工作.... 換句話說,這個作品: [DefaultValue(typeof(Color),「209,175,171」)]我從來沒有想過在一百萬年和去了,並定製轉換器來處理這.... 這不: [默認值(typeof運算(顏色), 「209,175,171」) 我不知道爲什麼,我也不很在乎... 您回答和解決我的問題 乾杯 – 2010-01-10 00:40:07

+0

我是新來的這裏.... 我如何標記你的回答作爲答案? – 2010-01-10 00:41:04

+0

你可以嘗試Color.Black(0,0,0)...當你用這個設置默認值時它不工作:[DefaultValue(typeof(Color),「0,0,0」) ] .... niether這樣做:[DefaultValue(typeof(Color),「Black」)] .....我認爲這與黑色是「已知」顏色......只是一個預感 – 2010-01-10 00:54:00

0

同樣在這裏的問題。 默認值(typeof運算(彩色)是不是爲我工作

我不得不這樣做。

private void Form1_Load(object sender, EventArgs e) 
    { 
     MyCar car1 = new MyCar(); 
     this.propertyGrid1.SelectedObject = car1; 
    } 

    public class MyCar{ 
     //***************************** 
     private Color MyColor_ = Color.Red;//<------------------------ Here 
     //***************************** 
     public Color MyColor 
     { 
      get { return MyColor_; } 
      set { this.MyColor_ = value; } 
     } 

     private String Id_; 
     public String Id 
     { 
      get { return Id_; } 
      set { this.Id_ = value; } 
     } 

    } 

enter image description here

它的工作對我來說,我不知道在哪裏是完全問題