2015-10-19 80 views
0

正在尝试根据屏幕分辨率更改标签字体大小。在窗体加载时尝试过,并且在窗体构造函数中显示,但在屏幕上字体大小与设计时间相同。在屏幕上动态更改标签字体大小

Rectangle resolution = Screen.PrimaryScreen.Bounds; 
if (resolution.Width == 1024 && resolution.Height == 768) 
{ 
    this.labelEnterRegistration.Font = new Font(this.labelEnterRegistration.Font.FontFamily, 40f); 
} 

我已经添加了双击事件的标签,以检查字体大小,和它说,这是40在消息框中(MessageBox.Show(this.labelEnterRegistration.Font.ToString());),那么为什么不表单显示,反映这个?

我试过标签Invalidate(),但那也不管用。

+0

try lblName.Font = new Font(“Arial”,mainForm.lblName.Font.Size); – katmanco

+0

谢谢,但不会将尺寸设置为已有的尺寸?我需要保持相同的字体,但只是改变其大小 – rodkort

+0

woow @rodkort你可以很容易地改变.Font.Size到你想要的值:) – katmanco

回答

-1

已修复它。正如它被设置字体emSize之前做,我做了以下这样它改变了像素尺寸:

FontStyle style = this.labelEnterRegistration.Font.Style; 
this.labelEnterRegistration.Font = new Font(this.labelEnterRegistration.Font.FontFamily, 40f, style, GraphicsUnit.Pixe 

现在保持相同的字体样式以及!

感谢您的意见@HEPİMİZYARBAYMEHMETALKANIZ,让我多想一想。