私は自分のアプリケーションのカスタム設定を行っています。プロパティのグリッドに表示するパブリックプロパティとしてすべての設定を保持するクラスを作成しました。 set/getは、カスタム関数を使用してデータベースへの書き込みと読み取りを行います。これはすべて私のニーズに適しています。私は、プロパティグリッドに表示する必要があると思うように色を表示するのに苦労しています。プロパティグリッドは、既知の色に対してもRGB値のみを使用します。プロパティグリッドコントロールで既知の色が表示されないのはなぜですか?
プロパティグリッドにRGB値の代わりに既知の色を表示する方法はありますか?
ここは自分の設定クラスのプロパティです。
<CategoryAttribute("Signature Capture"), _
DescriptionAttribute("Sets the Pen color"), _
DisplayName("PenColor"), _
BrowsableAttribute(True), _
ReadOnlyAttribute(False), _
DefaultValueAttribute(GetType(Color), "Black"), _
RefreshProperties(RefreshProperties.All)> _
Public Property SignatureCapturePenColor() As Color
Get
Dim myset As New mySettings
Return Color.FromArgb(Convert.ToInt32(myset.GetSetting("SignatureCapturePenColor", mySettings.e_Scope.Tech)))
End Get
Set(ByVal value As Color)
Dim myset As New mySettings
myset.SetSetting("SignatureCapturePenColor", value.ToArgb, mySettings.e_Scope.Tech)
Dim ncSet As New ncSettings
ncSet.NotifyPropertyChanged()
End Set
End Property
これは、プロパティグリッドがどのように見えるかの例である:これは、代わりに「0,0,0」の「黒」として表示されなければならない
。
これも可能ですか?
もっとコードを投稿したり、必要に応じてもっと説明したりできます。これは私の最初の質問ですので、簡単にどうぞよろしくお願いします。
ありがとう!私はこの同じテクニックを何回か試してみましたが、正しく動作するようにはできませんでした。私の問題はセッターがvalue.nameを設定していないことでした。 – Nathan
あなたの設定のコレクションについてはわからないので、言うことはできません。私はあなたに伝えることができるのは、変数を保存したり、変数から名前を取得したりするだけで、プロパティグリッドが正常に動作することです。 –