调整大小后如何保持表格居中于屏幕中间

Lav*_*ysh 3 c# forms winforms centering

我有一个窗体,该窗体根据加载时按fontsize调整大小的屏幕位置居中。调整大小后,位置与调整大小之前相同,因此表单不再像我想的那样居中。

让我给你画一个草图: 在此处输入图片说明

我试过打电话

        this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
        this.ResumeLayout(false);
        this.PerformLayout();
Run Code Online (Sandbox Code Playgroud)

调整大小后再次出现(我相信,这是代码的一部分,将表单放在开头。)没用 我还发现了类似的问题: “在窗口大小调整后使winform控件居中”,但它们始终只处理控件居中,而不是窗体本身。

Nin*_*ino 6

ResizeEnd事件添加方法。在方法中,当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;
}
Run Code Online (Sandbox Code Playgroud)