2011-06-30 39 views
0

我想更改網頁的所有標籤的字體。我寫下面的代碼,但它給出的錯誤,字體是隻讀屬性。我需要它非常緊迫。誰能幫更改標籤字體在運行時給出錯誤

代碼是在這裏提前

+0

您應該使用CSS來更改標籤的風格。 –

+0

對不起,我需要做到這一點迫切,但在別人完成的早期工作中不使用CSS,他們通過每個標籤的屬性來做到這一點,所以申請CSS不在這裏工作 – Vikky

回答

1

我認爲你是混合WinForms和ASP.NET

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 

感謝。你說你想改變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) 
+0

它不作任何改變 – Vikky

+0

在我的測試應用程序中,如果標籤在GridView-Rows中。然後你應該向我們展示你的aspx代碼和你試圖調用這個函數的部分(編輯你的問題)。你有沒有使用上面的代碼或我第一次發佈的代碼?不同的是我已將'MergeWith'更改爲'CopyFrom'。 –

+0

我創建了一個空白頁面,爲它添加了五個標籤,之後我在頁面加載和上部塊的第二個代碼塊中寫入行,當我在瀏覽器中查看頁面時,標籤顯示了默認字體。所以沒有變化 – Vikky