根据控件可见性C#.Net动态自动调整窗口大小

时间:2012-09-18 09:38:44

标签: c# windows forms

在创建Windows窗体应用程序时,最初我将保持Button,TextBox,Label等所有控件不可见。一旦用户做了正确的活动,比如选择正确的目录,则出现下一个控件(通常,用户不会有太大的自由,而是提供正确的目录)。我知道,没有任何意义保持其他控件不可见,但我想把它作为我的学习过程。

现在,问题是,每次出现新控件时,如何让表单更改大小。

e.g。在开始时,只有一个TextBox和Browse按钮可见。这里的窗体应仅缩放到可见控件。然后,一旦用户提供了正确的目录路径并且程序识别出来,就会显示下一个控件,如按钮和richTextBox,然后表单应该动态更改以适应新的控件。

感谢您的帮助,

1 个答案:

答案 0 :(得分:2)

这很简单,您可以使用Visible属性更改控件的可见性,并通过更改表单的HeightWidth属性来更改表单的大小形式。

如果您创建名为 Form1 的表单,请添加两个名为 button1 button2 的按钮,并复制并粘贴以下代码,这将演示调整表格大小和改变控件的可见性。

button2 在表单加载时设置为不可见,宽度和高度设置为每个100px。每当按下 button1 时,表单会调整大小并 button2 设置为可见:

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            button2.Visible = false;

            Width = 100;
            Height = 100;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Width = 200;
            Height = 200;
            button2.Visible = true;
        }
    }
}