对于Windows应用程序(C#),是否可以调整整个应用程序(包括所有表单)以使用系统字体设置大小而不是使用固定大小?
这适用于视力受损的用户,他们在自己的机器上设置了更大的字体。应用程序是否可以根据用户的具体情况调整字体。
答案 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);
}