2010-01-09 1 views
1

,PropertyGrid를,의 DefaultValue, 알 수없는 색상 ... 모두에게 어느

내 속성 그리드입니다 몇 가지 색상 속성을 가진 클래스 ...

색상은 '알려진 시스템 색상이 아니며 검사 '색 ...

색상을 표시 할 때 그리드의 텍스트 값은 다음과 같을 수

: 있도록

209, 175, 171 

내가 정의하려면 어떻게 [속성] 속성이 색깔이 마치 때 sen, PropertyGrid는 기본 색상이 선택되었다는 것을 알고 있습니까? ... 어떤 도움

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

지금까지 운이 ...

감사합니다 ...

이 사이트의 바위가 나에게 어떤보다 더 많은 도움이되었습니다 :

나는 시도 나는이 프로젝트를 통해 터벅 터벅으로 다른 사이트 ...

카슨

난 그냥이 시도

답변

2

Windows Forms 응용 프로그램 및 그것은 잘 작동합니다. 여기 내 전체 응용 프로그램입니다 :

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")] 나는 백만 년 동안 그것을 결코 이해하지 못했을 것입니다. 이걸 처리 할 사용자 지정 변환기를 만들었습니다. 이하지 않습니다 : 는 [의 DefaultValue (대해서 typeof (색상), "209, 175, 171")] 나는 아무 생각하는 이유가되지도 정말 상관이야 ... 당신이 대답하고 내 문제를 해결 건배 –

+0

이곳에 새해 있기 때문에 ... 답변으로 응답을 표시하려면 어떻게합니까? –

+0

Color.Black (0,0,0)을 시도해 볼 수 있습니까?이 기본값으로 설정할 때 작동하지 않는 것 같습니다 : [DefaultValue (typeof (Color), "0, 0, 0") ] .... niether는 이것을 수행합니다 : [DefaultValue (typeof (Color), "Black")] ..... 나는 Black이 "Known"Color라는 사실과 관련이 있다고 생각합니다. 단지 직감입니다. –

0

같은 문제. 의 DefaultValue (대해서 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

, 내가 어디 있는지 알고하지 않습니다