相关疑难解决方法(0)

如何编写自动扩展到系统字体和dpi设置的WinForms代码?

简介:有很多评论说"WinForms不能自动扩展到DPI /字体设置;切换到WPF".但是,我认为这是基于.NET 1.1; 看起来他们在.NET 2.0中实现自动扩展实际上做得非常好.至少基于我们迄今为止的研究和测试.但是,如果你们中的一些人知道的更好,我们很乐意听取你的意见.(请不要打扰我们应该切换到WPF ...现在不是一个选项.)

问题:

  • WinForms中的内容不能正确自动缩放,因此应该避免?

  • 编写WinForms代码时程序员应遵循哪些设计指南,以便自动扩展?

到目前为止我们已确定的设计指南:

请参阅下面的社区维基答案.

这些是不正确还是不充分?我们应采用的其他指导方针?是否还有其他需要避免的模式?对此的任何其他指导将非常感激.

.net c# fonts dpi winforms

138
推荐指数
7
解决办法
7万
查看次数

创建DPI感知应用程序

我在C#中有一个表单应用程序.当我更改显示器的DPI时,所有控件都会移动.我使用了代码this.AutoScaleMode = AutoScaleMode.Dpi,但它没有避免这个问题.

有没有人有想法?

c# dpi dpi-aware

67
推荐指数
4
解决办法
8万
查看次数

使用WinForms设计器时,是否始终需要将DPI设置为96?

使用我当前的显示器,我更喜欢每英寸120像素的DPI设置(窗口暗示为默认值).但是,在设计表单后,它通常会在不使用每英寸120像素的系统上错误地布局.

我想知道,每当我使用设计师时,我是否有必要将显示设置设置为每英寸96像素?

此外,当其他开发人员具有不同的DPI时,存在一些问题.他们在设计器中打开一个表单并移动类似文本编辑控件的东西,然后突然发现它自动调整大小.然后,有一个控件与其他控件的尺寸不同,而且我们一团糟.

PS我已经阅读了相关帖子.他们都很有趣,但没有回答我的问题.

如何在.NET WinForms应用程序中控制字体DPI

C#WinForms禁用DPI缩放

WinForms不同的DPI布局

DPI无法正确缩放

Visual Studio和DPI问题

winforms

7
推荐指数
2
解决办法
2592
查看次数

Windows XP中的DPI Aware应用程序

我想让我的C#应用​​程序了解DPI.Windows API中有一个名为SetProcessDPIAware()的命令,但问题是它只能在Windows Vista和更高版本的Windows中运行,而不能在XP中运行.如何使控件,按钮和字体DPI识别,使其无论使用何种Windows版本都能正确显示?

windows-xp dpi dpi-aware

2
推荐指数
1
解决办法
3810
查看次数

标签 统计

dpi ×3

c# ×2

dpi-aware ×2

winforms ×2

.net ×1

fonts ×1

windows-xp ×1