2

これを持つことは可能ですか?

フォーム読み込み時の初期サイズ (出典: akamaihd.net )1

ボタンをクリックすると、フォームのサイズが大きくなり、コントロールが読み込まれます。 (出典: akamaihd.net )2

4

3 に答える 3

2

はい、実行時にコントロールを追加およびサイズ変更できます。新しい Visual Studio プロジェクトで Form1.Designer.cs を見ると、これを達成するために必要なすべてのコードが表示されます。

たとえば、空白のフォームを作成しましたComboBox

            // comboBox1
            // 
            this.comboBox1.FormattingEnabled = true;
            this.comboBox1.Location = new System.Drawing.Point(83, 99);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Size = new System.Drawing.Size(121, 28);
            this.comboBox1.TabIndex = 0;
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(278, 245);
            this.Controls.Add(this.comboBox1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);

さらに、コントロールのサイズを動的に変更する場合は、TableLayoutView を検討することをお勧めします。http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel.aspx

または、ボタンを使用してラベルまたはその他のコントロールをフォームに追加するだけの場合は、ボタンクリックイベントに次のように記述します...

// this will re-size the form to whatever size(x,y) you want.
this.ClientSize = new System.Drawing.Size(x, y);

たとえば、コンボボックスを追加するには

            ComboBox comboBox2 = new ComboBox();
            comboBox2.FormattingEnabled = true;
            comboBox2.Location = new System.Drawing.Point(83, 99);
            comboBox2.Name = "comboBox2";
            comboBox2.Size = new System.Drawing.Size(121, 28);
            comboBox2.TabIndex = 1;
            this.Controls.Add(comboBox2);
于 2013-06-15T17:06:32.370 に答える
1

はい。Clickボタンのイベントを使用してWidthHeightフォームのその他のプロパティを変更しthis.Height = x;ます。フォームに既に表示されているコントロールの同様のプロパティを変更することもできます。

MSDN: フォームのプロパティ

新しいコントロールを動的に作成してフォームのControlsコレクションに追加するか、最初は非表示にしてコードを使用して表示することができます。

于 2013-06-15T17:03:20.017 に答える
0

フォームのサイズを大きくしてから、表示する領域に 2 番目のコントロールを配置すると、フォームのサイズを小さくして、デザイナーでコントロールが非表示に見えるようにすることができます。ただし、実際にはまだそこにあるので、実行してウィンドウのサイズを大きくすると、表示できるはずです。

これを行う別の方法は、フォームResizeイベントのハンドラーを追加することです。このハンドラーは、フォームが特定のサイズに達したかどうかを確認します。その場合、別のコントロールが表示されます。

于 2013-06-15T17:03:38.493 に答える