如何在 VB.Net 2010 中更改字体属性
How to change font properties in VB.Net 2010
所以我一直在使用这段代码来更改字体属性
Me.lblOutPut.Font = New Font("Times New Roman", 22)
但是,我的程序中有更改字体大小和字体类型的选项,例如,如果我必须更改字体大小,我还必须在代码中指定字体类型。除了走这条路,有没有办法创建可以动态更改字体大小和样式的变量?
例子,因为我觉得我说得还不够清楚:
- 用户单击按钮将字体大小从
12
更改为 16
Me.lblOutPut.Font = New Font("Times New Roman", 16)
- 用户单击将字体类型设置为 Arial 的按钮
Me.lblOutPut.Font = New Font("Arial", 12)
如何才能使字体大小不变,但字体类型不变?
我想你需要这样的东西:
Private Function setFont(myFont As Font, Optional fontFamily As String = "", Optional fontSize As Single = 0) As Font
If fontFamily = "" Then
fontFamily = myFont.FontFamily.ToString()
End If
If fontSize = 0 Then
fontSize = myFont.Size
End If
Return New Font(fontFamily, fontSize)
End Function
你可以这样使用它:
' To change both FontFamily And Size
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman", 16)
' To change only FontFamily
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman", 0)
' Or
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman")
' To change only Size
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "", 12)
所以我一直在使用这段代码来更改字体属性
Me.lblOutPut.Font = New Font("Times New Roman", 22)
但是,我的程序中有更改字体大小和字体类型的选项,例如,如果我必须更改字体大小,我还必须在代码中指定字体类型。除了走这条路,有没有办法创建可以动态更改字体大小和样式的变量?
例子,因为我觉得我说得还不够清楚:
- 用户单击按钮将字体大小从
12
更改为16
Me.lblOutPut.Font = New Font("Times New Roman", 16)
- 用户单击将字体类型设置为 Arial 的按钮
Me.lblOutPut.Font = New Font("Arial", 12)
如何才能使字体大小不变,但字体类型不变?
我想你需要这样的东西:
Private Function setFont(myFont As Font, Optional fontFamily As String = "", Optional fontSize As Single = 0) As Font
If fontFamily = "" Then
fontFamily = myFont.FontFamily.ToString()
End If
If fontSize = 0 Then
fontSize = myFont.Size
End If
Return New Font(fontFamily, fontSize)
End Function
你可以这样使用它:
' To change both FontFamily And Size
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman", 16)
' To change only FontFamily
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman", 0)
' Or
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "Times New Roman")
' To change only Size
Me.lblOutPut.Font = setFont(Me.lblOutPut.Font, "", 12)