1

我有一个 Windows 应用程序可以在我的 PC 上正确运行,它是 96DPI,但是当我在具有 120DPI 的 PC 上使用它时,表单会发生转换,并且它们的所有组件都会打乱。

我怎样才能解决这个问题?

谢谢。

4

2 回答 2

2

听起来您需要在表单中使用动态布局。您可以使用 AutoSize、Docking/Anchoring、Padding、Margin、TableLayoutPanel、FlowLayoutPanel 等来构建表单,以便在运行时而不是编译时完成控件的实际定位。这样,即使 DPI 不同,您的表单也会保留其布局。Charles Petzold 的“Programming Microsoft Windows Forms”是一本关于 Windows 窗体的好书。那本书的第 3 章充满了关于如何使用动态布局的信息。

于 2009-08-24T21:47:45.307 回答
0

如果您的意思是您有应用程序的来源(开发问题),您可以检查应用程序正在运行的显示器的 DPI 设置,并根据需要根据分辨率重新格式化您的界面。

如果您的意思是您有一个从其他地方编译的应用程序并且您没有它的源代码,您可以将您的分辨率设置为 96 DPI。

希望有帮助。

于 2009-08-24T21:38:20.083 回答