【问题标题】:How to autosize the height and the width of c# windows form?如何自动调整 c# windows 窗体的高度和宽度?
【发布时间】:2018-10-26 23:21:28
【问题描述】:

如何自动调整 c# windows 窗体的高度和宽度?那么当我最大化表单时,它的所有组件都适合屏幕吗?

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    使用每个控件的Anchor 属性,将其捕捉到包含表单的任一端。那么当您调整表单大小时,这些锚定控件也会调整大小。

    【讨论】:

    • 我将 dataGridView 的锚点设置为左上角,但它的高度和宽度仍然固定!!!
    • 将锚点也设置在底部和右侧,然后所有表单边缘都用它们“拉”dataGridView 控件。如果我的回答对您有帮助,请点击旁边的“vi”符号接受,我将不胜感激
    【解决方案2】:

    除了 Anchor 之外,还有一个 dock 属性。这将通过停靠到控件所在容器的一侧或多侧来自动调整控件的大小,如果控件停靠到所有侧,那么它将被“最大化”以填充其容器。

    【讨论】:

      【解决方案3】:

      您可以设置表单的最小和最大尺寸,如下所示

      this.MinimumSize = new Size(140, 480);
      this.MaximumSize = new Size(140, 480);
      

      你也可以像下面这样使用它

      private void Form1_Load(object sender, EventArgs e)
              {
                  int h = Screen.PrimaryScreen.WorkingArea.Height;
                  int w = Screen.PrimaryScreen.WorkingArea.Width;
                  this.ClientSize = new Size(w, h);
              }
      

      它可以为您工作的另一种方式是

      Rectangle screen = Screen.PrimaryScreen.WorkingArea;
      int w = Width >= screen.Width ? screen.Width : (screen.Width + Width) / 2;
      int h = Height >= screen.Height ? screen.Height : (screen.Height + Height) / 2;
      this.Location = new Point((screen.Width - w) / 2, (screen.Height - h) / 2);
      this.Size = new Size(w, h);
      

      【讨论】:

        猜你喜欢
        • 2013-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-19
        • 1970-01-01
        • 2014-08-24
        • 2015-03-27
        相关资源
        最近更新 更多