调整表单大小并加载控件

时间:2013-06-15 16:56:24

标签: c# winforms resize controls

有可能吗?

表单加载时的初始大小 1

单击该按钮时,表单的大小将增加,并将加载控件。 2

3 个答案:

答案 0 :(得分: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例如

            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);

答案 1 :(得分:1)

是。使用按钮的Click事件可以使用Width等更改表单的Heightthis.Height = x;和其他属性。您还可以更改控件的类似属性已在表格中显示。

MSDN: Form Properties

您可以动态创建新控件,并将其添加到表单的Controls集合中,或者最初看不到它,并使用代码显示它。

答案 2 :(得分:0)

如果增加表单的大小,然后将第二个控件放在要显示的区域中,则可以减小表单的大小,使控件看起来隐藏在设计器中。但实际上它仍然存在,所以如果你运行它并增加窗口大小,你应该能够看到它。

另一种方法是为表单Resize事件添加一个处理程序,检查表单是否达到一定的大小;如果是这样,另一个控件变得可见。