3

ウィンドウフォームアプリケーションで動的にいくつかのパネルを作成したいと思います。各パネルは、3つのラベルと1つのテキストボックスと1つのボタンで構成されます。毎回各変数を宣言することで、これを一度にハードコーディングできることがわかりましたが、コーディングに多くの時間がかかり、明らかに効率的ではありません。だから私の質問は:パネルが作成されるたびに事前定義されたレイアウト設定がすでにある場所で、事前定義されたパネルを動的に作成する方法はありますか?したがって、パネルとその場所とサイズを毎回追加するだけで、パネル内のすべてのコンテンツ(ラベル、テキストボックス、ボタンなど)は、パネル自体に関連付けられた場所で既に設定されています。そのためだけにクラスを作成する必要がありますか?

読んでお時間を割いていただき、ありがとうございます。

4

3 に答える 3

2

これがあなたが遊ぶことができる例です...

for (int i = 1; i < 5; i++)
{
    var panel1 = new Panel() { Size = new Size(90, 80), Location = new Point(10, i * 100), BorderStyle = BorderStyle.FixedSingle };
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 20) });
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 40) });
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 60) });
    Controls.Add(panel1);
}
于 2012-07-10T11:18:51.310 に答える
2

Windows フォーム コントロールまたはユーザー コントロールを作成します。http ://msdn.microsoft.com/en-us/library/6hws6h2t.aspxを参照してください。

于 2012-07-10T10:53:23.110 に答える
2

ユーザー コントロールを作成し、好きなもの (ラベル) を配置します。そのコントロールのパブリック メソッド/プロパティを公開して、その内容を制御できるようにします。それらを好きなだけフォームに配置すると、それらはすべて同じように見え、同じように動作します。

于 2012-07-10T11:08:29.153 に答える