我想更改网页所有标签的字体。我编写以下代码,但它给出了错误,即字体是只读属性。我非常迫切需要这样做。任何人都可以帮忙
代码在这里
Dim ctrl As Control
Dim fnt As New Font("Verdana", 8, FontStyle.Bold, GraphicsUnit.Point)
For Each ctrl In Me.Controls
If (TypeOf ctrl Is Label) Then
lbl = CType(ctrl, Label)
lbl.Font = fnt
End If
Next
提前致谢
答案 0 :(得分:1)
我认为你正在混合Winforms和ASP.NET。你说你想要更改WebPage上的标签字体,所以我假设它是一个ASP.NET-Webaplication。
我强烈建议您改用CSS。但是如果你需要快速工作的东西,你应该用这个代替你的代码:
Public Sub ApplyFontStyleRecursively(ByVal parentControl As System.Web.UI.Control, ByVal fontInfo As FontInfo)
If TypeOf parentControl Is Label Then
DirectCast(parentControl, Label).Font.CopyFrom(fontInfo)
End If
For Each c As System.Web.UI.Control In parentControl.Controls
ApplyFontStyleRecursively(c, fontInfo)
Next
End Sub
并称之为:
Dim lbl As New Label
lbl.Font.Name = "Verdana"
lbl.Font.Bold = True
ApplyFontStyleRecursively(Me.Page, lbl.Font)