- PR -

Buttonを継承してTextの初期値・規定値を設定したい(C#2.0)

1
投稿者投稿内容
TAKA
会議室デビュー日: 2007/06/03
投稿数: 19
投稿日時: 2007-06-03 04:05
いつも勉強させて頂いております。

ボタンのText初期値・規定値を"ABC"に設定したく、
System.Windows.Forms.Buttonを継承した独自ボタン(MyButton)を作成しました。

それをツールボックスからドラッグ&ドロップでフォームに追加すると
Textの値が"クラス名+連番"となってしまいます。
フォームデザイナが書き込む、以下のコードを制御できないのでしょうか?
「this.MyButton1.Text = "MyButton1";」

会議室を参考に2パターン試したのですが、いずれも"MyButton1"となってしまいます。

■コード1--------------------------------------------------------------------
public class MyButton : System.Windows.Forms.Button
{
public MyButton()
{
InitializeComponent();
Text = "ABC";
}

[DefaultValue("ABC")]
public override string Text
{
get
{
return base.Text;
}
set
{
base.Text = value;
}
}
}
------------------------------------------------------------------------------

■コード2--------------------------------------------------------------------
[Designer(typeof(MyButtonDesigner))]
public class MyButton : System.Windows.Forms.Button
{
public MyButton()
{
Text = "ABC";
}
}


public class MyButtonDesigner : ControlDesigner
{
public override void InitializeNewComponent(System.Collections.IDictionary defaultValues)
{
defaultValues["Text"] = "ABC";
base.InitializeNewComponent(defaultValues);
}
}
------------------------------------------------------------------------------

■参考
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29217&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=37803&forum=7

どうか、よろしくお願いいたします。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-06-05 13:13
引用:

TAKAさんの書き込み (2007-06-03 04:05) より:

ボタンのText初期値・規定値を"ABC"に設定したく、
System.Windows.Forms.Buttonを継承した独自ボタン(MyButton)を作成しました。

それをツールボックスからドラッグ&ドロップでフォームに追加すると
Textの値が"クラス名+連番"となってしまいます。



コード:
        public override void InitializeNewComponent(System.Collections.IDictionary defaultValues)
        {
            base.InitializeNewComponent(defaultValues);
            defaultValues["Text"] = "ABC";
        }



順番は大切です。
1

スキルアップ/キャリアアップ(JOB@IT)