如何:以编程方式设置 ASP.NET 服务器控件样式属性

更新:2007 年 11 月

您可以通过编程方式设置 ASP.NET 服务器控件的样式属性,这允许您按条件更改控件的外观。

通过编程设置样式属性外观

  • 使用以下分层约定指定要设置的样式对象和属性:

    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 对象的所有设置,其中包括空设置。

    • 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);
    

请参见

任务

如何:使用 ASP.NET 语法设置 ASP.NET 服务器控件样式属性

概念

ASP.NET Web 服务器控件和 CSS 样式