DOBON.NET DOBON.NETプログラミング掲示板過去ログ

自作クラスをプロパティに設定しても値が反映されない・・・

環境/言語:[VB.NET2003]
分類:[.NET]

VB.NET2003で開発をしていますが、Formを継承したカスタムフォームに
プロパティを追加しようと思います。このとき、プロパティの型として
自作クラスを指定しても値が反映されないのですが、どうしてでしょう?
ちなみに自作クラスはSystem.Drawing.Color型のプロパティが2つだけの
シンプルなものです。

<pre>
- 自作クラス --------------------------------

Public Class ControlColors

Private prpFocusBackColor As System.Drawing.Color = System.Drawing.SystemColors.Control
Private prpFocusForeColor As System.Drawing.Color = System.Drawing.Color.Black

Public Sub New()
MyBase.new()
End Sub

Public Sub New(ByVal backColor As System.Drawing.Color, ByVal foreColor As System.Drawing.Color)
FocusBackColor = backColor
FocusForeColor = foreColor
End Sub

Public Property FocusBackColor() As System.Drawing.Color
Get
Return prpFocusBackColor
End Get
Set(ByVal Value As System.Drawing.Color)
prpFocusBackColor = Value
End Set
End Property

Public Property FocusForeColor() As System.Drawing.Color
Get
Return prpFocusForeColor
End Get
Set(ByVal Value As System.Drawing.Color)
prpFocusForeColor = Value
End Set
End Property

End Class
---------------------------------------------------------------

上記のクラスを下記のように継承Formに設定しています。

---------------------------------------------------------------
Public Property FormColors() As ControlColors
Get
Return prpFormColors
End Get
Set(ByVal Value As ControlColors)
prpFormColors = Value
End Set
End Property
-------------------------------------------------------------------
</pre>

宜しく、お願いします。
>自作クラスを指定しても値が反映されないのですが、
>どうしてでしょう?

参考までに
どのように使用しているの?
反映されませんとは?
(提示されたコード自体は問題ないです・・現時点では)
プロパティ用に作成したクラスを継承フォームのプロパティの型に設定して
デザイン上でプロパティの値を変えるところまではできるのですが、
実行したり、ビルドすると変えた値が、初期値に戻ってしまうのです。

通常、フォーム上に貼り付けたコントロールは、InitializeComponent内に
プロパティ値が自動的に記述されると思うのですが、ここに記述されないことが
原因かなと思っています。しかし、どのようにすれば、この部分に記述される
のか、わからない状態です。

言葉足らずかと思いますが、宜しくお願いします。
自力で解決してしまいました。
Serializable()とDesignerSerializationVisibilityの記述をプロパティ用の
クラスに記述するものだと思っていましたが、フォーム側に記述することで
実現可能となりました。
通りすがりさん、ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板