c# - 当用户为操作系统字体大小选择 125% 或 150% 时,如何强制 Windows 窗体 C# 应用程序忽略?

标签 c# winforms

我需要一种快速的方法来强制我的 C# Windows 窗体应用程序在用户在操作系统设置中选择更大或更小的百分比时不缩放字体。

这可能吗?

最佳答案

这是对我有用的...

        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
        this.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));

以上两行是从我的 BaseForm.Designer.cs 文件中复制的,但基本上我发现了两个简单的步骤来获得“无字体缩放”:

  1. 将 AutoScaleMode 设置为 None。

  2. 使用“像素”作为所有字体的单位类型,而不是默认点值。

至于是否应该让 Windows 缩放字体,这取决于您。我不喜欢这个设计,所以如果我觉得我的应用程序需要扩展,我会自己做,用我自己的选择和设计。

多年来与实际最终用户交谈,我还发现他们中的大多数人对 DPI 设置一无所知,如果他们有默认设置以外的任何设置,那并不是因为他们想要它方式......他们只是从来没有注意到,因为他们使用的只是网络浏览器,也许还有 Excel 和 Microsoft Word(它们使用他们设置的任何字体)。

如果我的应用程序尊重系统字体设置,他们就不会那么喜欢它 == 销量会减少,因为它会像系统对话框那样有这种巨大的丑陋字体(他们不知道如何更改它,但他们不关心他们从不使用的系统对话框)。

关于c# - 当用户为操作系统字体大小选择 125% 或 150% 时,如何强制 Windows 窗体 C# 应用程序忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4089237/

相关文章:

c# - 以像素为单位绘制图像的更简单方法

c# - JIT .Net 编译器错误?

c# - 从程序集加载 MassTransit 消费者

c# - 保存多个复选框的状态并在应用程序启动时重新加载它们

C# Windows 窗体显示 Facebook 评论

c# - showdialog 重新聚焦效果自定义调用

C# Databound ComboBox 自动更新

c# - 从内存中释放 CSharpCodeProvider 生成的代码

c# - 贪吃蛇游戏绘制数组函数

wpf - Visualstudio 如何知道当前项目的类型?