изменение шрифта метки во время выполнения дает ошибку - PullRequest
0 голосов
/ 30 июня 2011

Я хочу изменить шрифт всех ярлыков веб-страницы. Я пишу следующий код, но он дает ошибку, что шрифт только для чтения. Мне нужно это срочно сделать. Может ли кто-нибудь помочь

Код здесь

 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

спасибо заранее

1 Ответ

1 голос
/ 30 июня 2011

Я думаю, что вы смешиваете Winforms и ASP.NET. Вы сказали, что хотите изменить шрифт надписей на своей веб-странице, поэтому я предполагаю, что это 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)
...