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

デザイナで追加したコントロールの値

環境/言語:[Microsoft Visual Studio .NET 2003]
分類:[.NET]

お世話になっています。

TextBoxを継承して、
数字のみ入力できるコントロール TextBoxNum を作りました。

デザイナで、これをフォーム上に貼り付けると
自動的にTextの値が、「TextBoxNum1」となります。

数字のみを扱いたいコントロールですので、
フォームに貼り付けた段階で、
Textの値を「0」にしたいのですが、
どのようにすればよろしいのでしょうか?
こんにちは、じゃんぬ です。

■No13045に返信(みずさんの記事)
> 数字のみを扱いたいコントロールですので、
> フォームに貼り付けた段階で、
> Textの値を「0」にしたいのですが、
> どのようにすればよろしいのでしょうか?

カスタム コントロールのクラス内のコンストラクタで "0" を設定する。
初期値属性を持たせたければ、Text プロパティの DefaultValue 属性を "0" に設定する。
>>フォームに貼り付けた段階で、
>>Textの値を「0」にしたい
とのことですので、↓の方と同じ要件ではないかと。

継承したTextBoxで
http://dobon.net/vb/bbs/log3-14/7809.html

#あまり引用したくないスレですけど‥‥(ーー;)
2005/10/03(Mon) 10:32:51 編集(投稿者)

じゃんぬねっとさん、深山さん、返事ありがとうございます。

返事が遅れて申し訳ございません。

深山さんが引用してくださったスレッドが、大変参考になりました。
(ID:7943 に深山さんがまとめてくださっています)
# 過去ログ検索不足です。申し訳ございません。

ControlDesigner を継承したクラスを作り、
OnSetComponentDefaults メソッドをオーバーライドした
空のカスタムメソッドを作成すれば、なんとか出来そうですね。

ただ、自分の環境が悪いのか
System.Windows.Forms.Design.ControlDesigner クラスが見つからず
まだ、問題解決までは至っていません。

もうすこし、がんばってみます。


----
追記

> System.Windows.Forms.Design.ControlDesigner クラスが見つからず
参照設定に System.Design.dll を追加することで解決出来ました

上記のことをやることで、
無事に デザイナ上でコントロールを貼り付けた段階で、
テキストボックスの値を変更することができました。
ありがとうございました。
解決済み!

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