- - PR -
継承コントロール作成時にプロパティ設定について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-11 01:50
最後の 1 文は明らかにおかしいです、それは「初期値」の意味合いでしかないですね。 「既定値」と「初期値」が相違するものが NCL に存在することをご存知ないのでしょうか?
「仕様としての既定の値」という意味合いは、元より理解してますし、 NCL を見ていれば、察することもできるでしょう。(初期値との違いも) ただ「既定値」を設定することで、説明するには「実感できる変化」を見て欲しかったんですよ。(;^-^) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-11 03:31
DefaultValueAttributeクラスのコンストラクタの説明を見て納得。 Setを呼ぶなんてどこにも書いてない。。。 これも旧言語→.NETでの思い込みのひとつですな。。。 「InitializeComponent メソッドで書かれるかどうかを決定」に過剰反応してしまいました。 | ||||||||
|
投稿日時: 2006-04-11 07:36
というよりは、やっぱりややこしいですよ > 「既定値」と「初期値」
あとは、プロパティ ウィンドウのリセット機能くらいしか思いつきません。 あくまでの仕様上の値なので他に影響がないんですよね。(確か) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-04-11 10:26
業務で忙しい間にたくさんの書き込みが・・・
私が実現したかったのは、 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ コンポーネントクラスの追加を行い、 InputManの継承を行い、そのフォントの初期設定として赤をデフォルトにした コンポーネントを作成したい @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ というものです。 コードでは −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− protected override System.Windows.Forms.Control.ControlCollection CreateControlsInstance() { this.ForeColor = Colors.Red; return base.CreateControlsInstance (); } −−−−−−−−−−−−−−−−−−−−−−−−−−−−−− と設定しました。 私なりにはこれは「初期値」と思っています。 いかがなのでしょうか? 私が作成したコンポーネントクラスだと InitializeComponentメソッドは 存在しないのでDefaultValue・・・で設定する方法がとられるのでしょうか? その際はどのように記述してみたらよいのでしょう? 本当は自分でHELPを見て調べてみることが第一なのですが、 現在本当に時間が無くて私自身でも答えだけでも分かればと思っています。 今後の勉強のためにもご意見、ご助言をいただけないでしょうか? | ||||||||
|
投稿日時: 2006-04-11 10:33
「初期化」は、コンストラクタで良いと思います。
いいえ、コンポーネントとして外部から (フォームから) 利用される場合の話ですから関係ありません。 「初期値」から「既定値」に話が移行してしまったのは、DefaultValueAttribute の話が出てきたからです。 最初に申し上げたとおり、 > 初期値ならば、コンストラクタですね。 で良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |