Windows10,当我打开表单时,表单的宽度大小似乎保持了 1.25 倍

  • 本文关键字:表单 Windows10 c# forms winforms
  • 更新时间 :
  • 英文 :


我想恢复表单的大小,我使用了以下代码。

我从这个线程中得到了一个想法。

我发现在某些机器(特别是Windows10(上,当我重新打开此特定表单时,表单的宽度会保持双倍。

我猜这可能是屏幕分辨率的缩放问题,但我无法重现它。

由于我没有计算而是直接存储表单的大小,因此我不知道在哪里查找。

我将使用远程助手并尝试找出它发生的原因。我将分享我的发现。

private void Form_Load(object sender, EventArgs e)
{
this.RestoreWindowPosition();
}
private void SaveWindowPosition()
{
Properties.Settings.Default.ReviewFormState = this.WindowState;
if (this.WindowState == FormWindowState.Normal)
{
Properties.Settings.Default.ReviewFormLocation = this.Location;
Properties.Settings.Default.ReviewFormSize = this.Size;
}
else
{
Properties.Settings.Default.ReviewFormLocation = this.RestoreBounds.Location;
Properties.Settings.Default.ReviewFormSize = this.RestoreBounds.Size;
}
Properties.Settings.Default.ReviewFormHasSetDefaults = true;
Properties.Settings.Default.Save();
}
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
this.SaveWindowPosition();
}
private void RestoreWindowPosition()
{
if (Properties.Settings.Default.ReviewFormHasSetDefaults)
{
this.WindowState = Properties.Settings.Default.ReviewFormState;
this.Location = Properties.Settings.Default.ReviewFormLocation;
this.Size = Properties.Settings.Default.ReviewFormSize;
}
}

远程会话后

正如我之前所说,我完成了一个远程会话。我发现这是因为规模问题。但是,这似乎仍然很奇怪。我检查了[显示设置 - 比例和布局]菜单,它是125%。然后我打开表格并重复。我发现表单大小正在增长。我认为第一次尝试是 1.25 倍。我所做的是我改变了100%的比例,然后做同样的事情打开并重复。这一次,我什么也没找到;表格的大小相同。

我的中间步骤结论是我需要保存表单的纯大小。我会根据比例进行翻译。然后我想,我可以得到一个真实大小的表格。我真的不确定我会尝试分享我发现的让某人进入循环。

@Jimi和@Louis去 我希望有一天我也能帮助你。谢谢你帮助我。

Jimi:

如果没有,请使应用程序 DpiAware 生效。从这里开始:如何将应用配置为在具有高 DPI 设置(例如 150%(的计算机上正确运行?,然后查看 app.config 设置和 Windows 窗体中的高 DPI 支持(考虑并测试PerMonitorV2设置(。考虑表单的AutoScaleMode。查看DpiFont之间的区别。

最新更新