これを持つことは可能ですか?
フォーム読み込み時の初期サイズ
(出典: akamaihd.net )
ボタンをクリックすると、フォームのサイズが大きくなり、コントロールが読み込まれます。
(出典: akamaihd.net )
これを持つことは可能ですか?
フォーム読み込み時の初期サイズ
(出典: akamaihd.net )
ボタンをクリックすると、フォームのサイズが大きくなり、コントロールが読み込まれます。
(出典: akamaihd.net )
はい、実行時にコントロールを追加およびサイズ変更できます。新しい 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);
はい。Click
ボタンのイベントを使用してWidth
、Height
フォームのその他のプロパティを変更しthis.Height = x;
ます。フォームに既に表示されているコントロールの同様のプロパティを変更することもできます。
新しいコントロールを動的に作成してフォームのControls
コレクションに追加するか、最初は非表示にしてコードを使用して表示することができます。
フォームのサイズを大きくしてから、表示する領域に 2 番目のコントロールを配置すると、フォームのサイズを小さくして、デザイナーでコントロールが非表示に見えるようにすることができます。ただし、実際にはまだそこにあるので、実行してウィンドウのサイズを大きくすると、表示できるはずです。
これを行う別の方法は、フォームResize
イベントのハンドラーを追加することです。このハンドラーは、フォームが特定のサイズに達したかどうかを確認します。その場合、別のコントロールが表示されます。