2

有可能拥有这个吗?

表单加载时的初始大小 (来源:akamaihd.net1

单击按钮时,表单的大小将增加并加载控件。 (来源:akamaihd.net2

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

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

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

于 2013-06-15T17:03:38.493 回答