StartUp窗体未按设计打开

编程语言 2026-07-08

我在VS2019启动了一个VB.Net项目,起始窗体按设计打开。经过(1)更换了我的PC,(2)把显示器换成了高DPI的屏幕,以及(3)安装了VS2026之后,启动窗体打开时只显示了窗体的中间部分(窗体的上部、下部、左边和右边的部分被截断)。

经过一番研究,我将窗体的“Start Position”属性改为“Manual”,并在窗体的Load事件中添加了以下两行代码:

Me.Size = New Size(2623, 1751)
Me.CenterToScreen()

然而现在窗体打开时,显示的是整个窗体,但看起来像是被最大化,右边的边距填充了剩余的屏幕。

这个启动窗体里有一个Table Layout Panel,以及其他标签和文本框。

我该如何让这个启动窗体按设计尺寸打开?

补充信息:我通过在app.config文件中添加以下内容找到了部分解决方案:

<System.Windows.Forms.ApplicationConfigurationSection>
  <add key="DpiAwareness" value="PerMonitorV2" />
  <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</System.Windows.Forms.ApplicationConfigurationSection>

并且从窗体的Load事件中删除了所有代码。我还修改了以下窗体属性:

AutoSize: True
AutoScaleMode: DPI

并把WindowState改回Normal。

现在我的窗体以设计的大小打开,但窗体上的文本看起来很颗粒/模糊,似乎文本没有正确缩放。我在想还需要添加(或删除)一个或多个额外设置,以便在打开时窗体上的所有控件(标签和文本)正确缩放。我已经查阅了许多关于缩放和DPI的文章,但没有运气找到解决办法。如何解决这个问题?

这是一个Windows Forms应用程序(NET Framework),目标框架是10。任何帮助都将不胜感激。

解决方案

对于需要的人,我找到了窗体文本和控件发模糊问题的解决办法。请按照视频所示对app.manifest文件进行修改:

https://www.youtube.com/watch?v=oIxpqXHdZAQ

仅供参考:我在把这些改动应用到另外一个较旧的项目时,先在app.config文件中修复了尺寸问题(如上所述)。令人惊讶的是,在修复尺寸问题之后,文本和控件都非常清晰,甚至不需要对清单文件进行任何修改。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章