0

全て、

C# WinForms がカスタム コントロールを作成する方法を理解しようとしています。グループ ボックスに基づいてカスタム コントロールを作成しました。いくつかの値に応じて、内部に異なるコントロールのセットを作成しています。
また、このコントロールを Visual Studio ツールボックスに正常に追加し、フォーム自体にドラッグ アンド ドロップできます。
コントロールの作成はいくつかの変数に依存するため、このクラスのプロパティにしました。Visual Studio のプロパティ リストに表示されます。

コントロールの疑似コードを次に示します。

public partial class MyGroupBox : System.Windows.Forms.GroupBox
{
    private int m_type;
    public RadioButton price;
    public RadioButton rb13;
    public int type
    {
        get { return m_type; }
        set { m_type = value; }
    }

    public MyGroupBox()
    {
        m_type = type;
        InitializeComponent();
        price = new RadioButton();
        if (type == 3)
        {
            rb13 = new RadioButton();
        }
    }

ただし、コントロールをフォームにドラッグした後、デザイナーのソース コードでForm1.Designer.cs、コントロールが次のように作成されていることがわかりました。

this.entry = new MyGroupBox(this.components);

したがって、プログラムが実行されると、空のコンストラクターは呼び出されません。

私の質問は次のとおりです。

  1. this.componentsパラメータ を持つこのコンストラクタは何ですか?
  2. 手動で編集できないForm1.Designer.csため、これを適切に機能させるにはどうすればよいですか?

前もって感謝します。

4

0 に答える 0