我想在中心屏幕上显示我的WinApp,因此我将StartPosition
属性设置为CenterScreen
,但窗口未显示在屏幕中央。
它出了什么问题?我错过了什么吗?
P.S:
我从主窗口和按钮显示窗口。
编辑:
我用来显示窗口的代码。
Form_CO form_CO = new Form_CO();
void button_CO_Click(object sender, EventArgs e)
{
try
{
//StaticVariables.Form_CO_IsShown is to prevent opening the same multiple windows
if (!StaticVariables.Form_CO_IsShown)
{
form_CO = new Form_CO();
form_CO.Show();
StaticVariables.Form_CO_IsShown = true;
}
else
{
form_CO.WindowState = FormWindowState.Normal;
form_CO.Activate();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
答案 0 :(得分:3)
FormStartPosition.CenterScreen可能会出现问题。将此代码粘贴到表单中以修复它:
protected override void OnLoad(EventArgs e) {
var scr = Screen.FromPoint(this.Location);
this.Left = scr.WorkingArea.Left + (scr.WorkingArea.Width - this.Width) / 2;
this.Top = scr.WorkingArea.Top + (scr.WorkingArea.Height - this.Height) / 2;
base.OnLoad(e);
}