1

誰にでも...みんなに、

私のプロパティ グリッドは、いくつかの色プロパティを持つクラスを調べています...

色はシステムカラーでも「既知の」色でもありません...

色を表示すると、グリッド内のテキスト値は次のようになります。

209, 175, 171

[Attribute] プロパティを定義して、この色が選択されたときに PropertyGrid がデフォルトの色が選択されたことを理解するにはどうすればよいですか?

私が試してみました:

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

これまでのところ運がありません...

助けてくれてありがとう...

このサイトは素晴らしいです...このプロジェクトを進めていく中で、他のどのサイトよりも私を助けてくれました...

カーソン

4

2 に答える 2

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」に設定すると通常のテキストで表示されます。

デフォルト以外の値:

代替テキスト

デフォルト値の場合:

代替テキスト

于 2010-01-09T23:20:30.063 に答える