- - PR -
デザイン時に変更したカスタムプロパティが反映されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-17 16:34
オリジナルのフォームを作成しようと継承先フォームに
独自のプロパティを作成しました。 また、汎用的に使えるようDLL内にあり、 別プロジェクトではこのDLLを追加して使用します ------------------------------------------------ public class FormD : Form { private bool _startVisible; [Category("表示"), DefaultValue(true)] [DesignOnly(true)] [Description("プロパティの説明")] public bool StartVisible { get { return _startVisible; } set { _startVisible = value; } } } ------------------------------------------------ プロジェクトでこのフォームを追加すると プロパティには確かに表示され、デザイン時から 値の変更(true, false)の変更ができます。 しかし、実行するとデザイン時に設定した値が反映 されていません。 どなたかわかる方いませんでしょうか? 環境 : VS2005 SP1 他に調査したことは デザイナ上でユーザーがコントロールを変更したときは 値が反映されません。 これらの変更を反映させる為には、IComponentChangeService インターフェイスの実装を利用すると言うことですが 基本型?int, bool とかを反映させるのに使用する必要はなさそうなんです。 |
|
投稿日時: 2008-01-17 16:57
利用している Form の InitializeComponent メソッドで StartVisible を変更しているコードが自動生成されていますでしょうか? それとも生成されていないでしょうか? それによって考えうる原因が変わってくると思います。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2008-01-17 18:40
継承元、継承先のInitializeComponent メソッドを調査しましたが
代入している箇所はみつかりませんでした。 |
|
投稿日時: 2008-01-17 18:57
じゃんぬねっとさんありがとうございます。
解決しました。 たぶんですが、[DesignOnly(true)] を設定しているためにエディタ内でコードが生成されなかった ような気がします。 お騒がせしてすみませんでした。 |
1