如何使用Windows C#应用程序的系统字体设置

时间:2011-05-05 16:44:30

标签: c# winforms

对于Windows应用程序(C#),是否可以调整整个应用程序(包括所有表单)以使用系统字体设置大小而不是使用固定大小?

这适用于视力受损的用户,他们在自己的机器上设置了更大的字体。应用程序是否可以根据用户的具体情况调整字体。

3 个答案:

答案 0 :(得分:2)

如果您希望应用程序按系统字体缩放,则应将所有表单的AutoScaleMode属性设置为值AutoScaleMode.Font,如果希望缩放,则应将AutoScaleMode.Dpi设置为{{1}}通过Windows DPI设置。

您可以在这里找到更多信息 - http://msdn.microsoft.com/en-us/library/ms229605.aspx

答案 1 :(得分:2)

在表单的构造函数中(在调用InitializeComponent()之前),我会尝试将表单的Font属性设置为System.Drawing.SystemFonts.DefaultFont。如果您的控件(例如:文本框)没有指定特定字体,那么我相信它们从父容器(即表单)继承其字体属性。

System.Drawing.SystemFonts类中还有其他更具体的系统字体(如Caption字体的默认设置)。您可能还希望进一步调查这些内容。

答案 2 :(得分:0)

// Get dpi width
float x = this.CreateGraphics().DpiX;

// if screen is width
if (x == 120)
    // Get big image from Resources
    this.BackgroundImage = Properties.Resources.BigImage;

else if (x==96)
{
    // Get small image from Resources
    this.BackgroundImage = Properties.Resources.loading49;

    this.BackColor = ColorTranslator.FromHtml("#E6E6E6");
    this.button2.Size = new Size(85, 30);
    this.button1.Size = new Size(75, 24);
    this.textBox1.Size = new Size(150, 40);
}