这个问题,不仅仅是Krypton Suite特有,所有只要使用到Windows 系统字体的程序都会碰上。
设置字体在这里设置:
注意上图,在我的机器上,出现了一个XP的BUG,图形的现实不正确,呵呵。下面的fontsize就是调整字体大小的地方,我的老丈人喜欢放在最大,我一般都在Normal.
下面是我应用程序在Normal下的运行情况:
布局没有错乱,很好,但是设置成Extra Large之后出现错误了
Label被挤占了,我设置了两个按钮设置字体,函数实现为:
private void kryptonButton1_Click(object sender, EventArgs e)
{
this.Font = SystemFonts.IconTitleFont;
show("this.Font = SystemFonts.IconTitleFont;");
}
private void kryptonButton2_Click(object sender, EventArgs e)
{
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
show("Manually set");
}
private void show(string group)
{
this.kryptonTextBox1.Text +=
"{" + group + "}"
+ "\r\n TXTBOX: " + this.kryptonTextBox1.Font.ToString()
+ "\r\n SYSTEM: " + this.Font.ToString()
+ "\r\n ICONEM: " + SystemFonts.IconTitleFont
+ "\r\n\r\n";
}
第一个按钮设置系统的字体,第二个按钮设置自定义的字体,在Normal下这两个按钮貌似没有任何作用,输出文本为:
{Load}
TXTBOX: [Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=134, GdiVerticalFont=False]
SYSTEM: [Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=134, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=1, GdiVerticalFont=False]
{this.Font = SystemFonts.IconTitleFont;}
TXTBOX: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=1, GdiVerticalFont=False]
SYSTEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=1, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=1, GdiVerticalFont=False]
{Manually set}
TXTBOX: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
SYSTEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=1, GdiVerticalFont=False]
在Extra Large模式下输出:
{Load}
TXTBOX: [Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=134, GdiVerticalFont=False]
SYSTEM: [Font: Name=Microsoft Sans Serif, Size=8.25, Units=3, GdiCharSet=134, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=12, Units=3, GdiCharSet=1, GdiVerticalFont=False]
{this.Font = SystemFonts.IconTitleFont;}
TXTBOX: [Font: Name=Tahoma, Size=12, Units=3, GdiCharSet=1, GdiVerticalFont=False]
SYSTEM: [Font: Name=Tahoma, Size=12, Units=3, GdiCharSet=1, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=12, Units=3, GdiCharSet=1, GdiVerticalFont=False]
{Manually set}
TXTBOX: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
SYSTEM: [Font: Name=Tahoma, Size=8.25, Units=3, GdiCharSet=0, GdiVerticalFont=False]
ICONEM: [Font: Name=Tahoma, Size=12, Units=3, GdiCharSet=1, GdiVerticalFont=False]
按下第一个按钮
窗口变大了,但是现实正确了
第二个按钮:
窗口也变大了,但是字体设置问题依旧。
结论:
this.Font = SystemFonts.IconTitleFont;