HOW TO:以程式設計方式設定 ASP.NET 伺服器控制項樣式屬性

更新:2007 年 11 月

您可以用程式設計方式設定 ASP.NET 伺服器控制項的樣式屬性,這可以讓您有條件地變更控制項的外觀。

若要以程式設計方式設定樣式屬性 (Property)

  • 使用以下的階層式慣例,指定您希望設定的樣式物件和屬性 (Property):

    Control.StyleObject.Property = value
    
    Control.StyleObject.Property = value;
    

    下列程式碼範例示範如何設定 Calendar 控制項 DayStyle 物件的 BackColor 屬性:

    Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
    
    Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
    

    您也可以建立個別的 Style 物件,並將其屬性值複製或合併到控制項的其中一種樣式。這是一種功能很強的方法,能夠將相同樣式套用至您專案中數個不同的清單物件上。事實上,您可以將虛擬樣式表建立成 Style 物件,然後套用至一系列的控制項。

若要建立樣式物件並套用至控制項

  1. 建立 Style 物件的執行個體並設定其屬性,如下列程式碼範例所示:

    Dim s As Style = New Style()
    s.BackColor = System.Drawing.Color.Red
    
    Style s = new Style();
    s.BackColor = System.Drawing.Color.Red;
    
  2. 使用下列其中一種方法將 Style 物件指派給控制項:

    • CopyFrom 方法會套用 Style 物件的所有設定,包含 null 設定。

    • MergeWith 方法只會複製已經在 Style 物件中設定的屬性,而略過尚未設定的 Style 屬性。此外,MergeWith 方法將不會覆寫任何現有的樣式項目。

    下列程式碼範例示範如何使用所描述的任一方法,建立 Style 物件、設定其屬性,然後套用至兩個不同的控制項樣式物件:

    ' Apply all values in s, including nulls.
    Calendar1.SelectedDayStyle.CopyFrom(s)
    ' Apply only values in s that are null in HeaderStyle.
    DataGrid1.HeaderStyle.MergeWith(s)
    
    // Apply all values in s, including nulls.
    Calendar1.SelectedDayStyle.CopyFrom(s);
    // Apply only values in s that are null in HeaderStyle.
    DataGrid1.HeaderStyle.MergeWith(s);
    

請參閱

工作

HOW TO:使用 ASP.NET 語法設定 ASP.NET 伺服器控制項樣式屬性

概念

ASP.NET Web 伺服器控制項和 CSS 樣式