代码之家  ›  专栏  ›  技术社区  ›  Lavandysh

调整大小后如何使窗体居中于屏幕中间

  •  5
  • Lavandysh  · 技术社区  · 7 年前

    我有一个窗体,它根据屏幕位置居中,加载时按fontsize调整大小。调整大小后,位置与调整大小前保持不变,因此形状不再像我所希望的那样位于中心。

    让我给你画一个草图: enter image description here

    我试过打电话

            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.ResumeLayout(false);
            this.PerformLayout();
    

    "Keeping winform control centered after window resize " 但它们总是只处理控件的居中,而不是窗体本身。

    1 回复  |  直到 7 年前
        1
  •  8
  •   Nino    7 年前

    ResizeEnd 事件在方法中,当 调整大小结束

    private void Form1_ResizeEnd(object sender, EventArgs e)
    {
        Screen myScreen = Screen.FromControl(this);
        Rectangle area = myScreen.WorkingArea;
    
        this.Top = (area.Height - this.Height) / 2;
        this.Left = (area.Width - this.Width) / 2;
    }