Style 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示 Web 伺服器控制項的樣式。
public ref class Style : System::ComponentModel::Component, System::Web::UI::IStateManager
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public class Style : System.ComponentModel.Component, System.Web.UI.IStateManager
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.EmptyStringExpandableObjectConverter))]
public class Style : System.ComponentModel.Component, System.Web.UI.IStateManager
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type Style = class
inherit Component
interface IStateManager
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.WebControls.EmptyStringExpandableObjectConverter))>]
type Style = class
inherit Component
interface IStateManager
Public Class Style
Inherits Component
Implements IStateManager
- 繼承
- 衍生
- 屬性
- 實作
範例
此範例示範如何使用 Style 物件一次變更多個控件的樣式屬性。 每次其中一個 Style 屬性值變更時,每個控件都必須呼叫其 ApplyStyle 方法。 請注意,並非所有包含的控件都支援所有示範的屬性。 如果控件不支援特定屬性,當屬性值變更時,控件的外觀將不會變更。
注意
下列程式代碼範例會使用單一檔案程式代碼模型,如果直接複製到程式代碼後置檔案,可能無法正常運作。 此程式代碼範例必須複製到具有.aspx擴展名的空白文本檔。 如需 Web Forms 程式代碼模型的詳細資訊,請參閱 ASP.NET Web Forms 頁面代碼模型。
<!-- -->
<!-- -->
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Drawing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private Style primaryStyle = new Style();
void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
// Add data to the borderColorList,
// backColorList, and foreColorList controls.
ListItemCollection colors = new ListItemCollection();
colors.Add(Color.Black.Name);
colors.Add(Color.Blue.Name);
colors.Add(Color.Green.Name);
colors.Add(Color.Orange.Name);
colors.Add(Color.Purple.Name);
colors.Add(Color.Red.Name);
colors.Add(Color.White.Name);
colors.Add(Color.Yellow.Name);
borderColorList.DataSource = colors;
borderColorList.DataBind();
backColorList.DataSource = colors;
backColorList.DataBind();
foreColorList.DataSource = colors;
foreColorList.DataBind();
//<Snippet4>
// Add data to the borderStyleList control.
ListItemCollection styles = new ListItemCollection();
Type styleType = typeof(BorderStyle);
foreach (string s in Enum.GetNames(styleType))
{
styles.Add(s);
}
borderStyleList.DataSource = styles;
borderStyleList.DataBind();
//</Snippet4>
// Add data to the borderWidthList control.
ListItemCollection widths = new ListItemCollection();
for (int i = 0; i < 11; i++)
{
widths.Add(i.ToString() + "px");
}
borderWidthList.DataSource = widths;
borderWidthList.DataBind();
// Add data to the fontNameList control.
ListItemCollection names = new ListItemCollection();
names.Add("Arial");
names.Add("Courier");
names.Add("Garamond");
names.Add("Times New Roman");
names.Add("Verdana");
fontNameList.DataSource = names;
fontNameList.DataBind();
// Add data to the fontSizeList control.
ListItemCollection fontSizes = new ListItemCollection();
fontSizes.Add("Small");
fontSizes.Add("Medium");
fontSizes.Add("Large");
fontSizes.Add("10pt");
fontSizes.Add("14pt");
fontSizes.Add("20pt");
fontSizeList.DataSource = fontSizes;
fontSizeList.DataBind();
//Set primaryStyle as the style for each control.
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
}
//<Snippet5>
void ChangeBorderColor(object sender, System.EventArgs e)
{
primaryStyle.BorderColor =
Color.FromName(borderColorList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet5>
//<Snippet6>
void ChangeBackColor(object sender, System.EventArgs e)
{
primaryStyle.BackColor =
Color.FromName(backColorList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet6>
//<Snippet7>
void ChangeForeColor(object sender, System.EventArgs e)
{
primaryStyle.ForeColor =
Color.FromName(foreColorList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet7>
//<Snippet8>
void ChangeBorderStyle(object sender, System.EventArgs e)
{
primaryStyle.BorderStyle =
(BorderStyle)Enum.Parse(typeof(BorderStyle),
borderStyleList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet8>
//<Snippet9>
void ChangeBorderWidth(object sender, System.EventArgs e)
{
primaryStyle.BorderWidth =
Unit.Parse(borderWidthList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet9>
//<Snippet10>
void ChangeFont(object sender, System.EventArgs e)
{
primaryStyle.Font.Name =
fontNameList.SelectedItem.Text;
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet10>
//<Snippet11>
void ChangeFontSize(object sender, System.EventArgs e)
{
primaryStyle.Font.Size =
FontUnit.Parse(fontSizeList.SelectedItem.Text);
Label1.ApplyStyle(primaryStyle);
ListBox1.ApplyStyle(primaryStyle);
Button1.ApplyStyle(primaryStyle);
Table1.ApplyStyle(primaryStyle);
TextBox1.ApplyStyle(primaryStyle);
}
//</Snippet11>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table cellpadding="6" border="0">
<tr>
<td rowspan="10" style="border:solid 1px Gray">
<p>
<asp:label id="Label1"
Text="Border Properties Example" Runat="server">
Label Styles
</asp:label>
</p>
<p>
<asp:button id="Button1" runat="server"
Text="Button Styles">
</asp:button>
</p>
<p>
<asp:listbox id="ListBox1" Runat="server">
<asp:ListItem Value="0" Text="List Item 0">
</asp:ListItem>
<asp:ListItem Value="1" Text="List Item 1">
</asp:ListItem>
<asp:ListItem Value="2" Text="List Item 2">
</asp:ListItem>
</asp:listbox>
</p>
<p>
<asp:textbox id="TextBox1"
Text="TextBox Styles" Runat="server">
</asp:textbox>
</p>
<p>
<asp:table id="Table1" Runat="server">
<asp:TableRow>
<asp:TableCell Text="(0,0)"></asp:TableCell>
<asp:TableCell Text="(0,1)"></asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell Text="(1,0)"></asp:TableCell>
<asp:TableCell Text="(1,1)"></asp:TableCell>
</asp:TableRow>
</asp:table>
</p>
</td>
<td align="right">
<asp:Label ID="Label2" runat="server"
AssociatedControlID="borderColorList"
Text="Border Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label3" Runat="server"
AssociatedControlID="borderStyleList"
Text="Border Style:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderStyleList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderStyle">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label4" Runat="server"
AssociatedControlID="borderWidthList"
Text="Border Width">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderWidthList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderWidth">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label5" Runat="server"
AssociatedControlID="backColorList"
Text="Back Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="backColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBackColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label6" Runat="server"
AssociatedControlID="foreColorList"
Text="Foreground Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="foreColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeForeColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label7" Runat="server"
AssociatedControlID="fontNameList"
Text="Font Name:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="fontNameList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeFont">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label8" Runat="server"
AssociatedControlID="fontSizeList"
Text="Font Size:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="fontSizeList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeFontSize">
</asp:dropdownlist>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Drawing" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private primaryStyle As New Style()
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not Page.IsPostBack Then
' Add data to the borderColorList,
' backColorList, and foreColorList controls.
Dim colors As New ListItemCollection()
colors.Add(Color.Black.Name)
colors.Add(Color.Blue.Name)
colors.Add(Color.Green.Name)
colors.Add(Color.Orange.Name)
colors.Add(Color.Purple.Name)
colors.Add(Color.Red.Name)
colors.Add(Color.White.Name)
colors.Add(Color.Yellow.Name)
borderColorList.DataSource = colors
borderColorList.DataBind()
backColorList.DataSource = colors
backColorList.DataBind()
foreColorList.DataSource = colors
foreColorList.DataBind()
'<Snippet4>
' Add data to the borderStyleList control.
Dim styles As New ListItemCollection()
Dim styleType As Type = GetType(BorderStyle)
Dim s As String
For Each s In [Enum].GetNames(styleType)
styles.Add(s)
Next s
borderStyleList.DataSource = styles
borderStyleList.DataBind()
'</Snippet4>
' Add data to the borderWidthList control.
Dim widths As New ListItemCollection()
Dim i As Integer
For i = 0 To 10
widths.Add(i.ToString() & "px")
Next i
borderWidthList.DataSource = widths
borderWidthList.DataBind()
' Add data to the fontNameList control.
Dim names As New ListItemCollection()
names.Add("Arial")
names.Add("Courier")
names.Add("Garamond")
names.Add("Times New Roman")
names.Add("Verdana")
fontNameList.DataSource = names
fontNameList.DataBind()
' Add data to the fontSizeList control.
Dim fontSizes As New ListItemCollection()
fontSizes.Add("Small")
fontSizes.Add("Medium")
fontSizes.Add("Large")
fontSizes.Add("10pt")
fontSizes.Add("14pt")
fontSizes.Add("20pt")
fontSizeList.DataSource = fontSizes
fontSizeList.DataBind()
' Set primaryStyle as the style for each control.
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End If
End Sub
'<Snippet5>
Sub ChangeBorderColor(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.BorderColor = _
Color.FromName(borderColorList.SelectedItem.Text)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet5>
'<Snippet6>
Sub ChangeBackColor(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.BackColor = _
Color.FromName(backColorList.SelectedItem.Text)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet6>
'<Snippet7>
Sub ChangeForeColor(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.ForeColor = _
Color.FromName(foreColorList.SelectedItem.Text)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet7>
'<Snippet8>
Sub ChangeBorderStyle(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.BorderStyle = _
CType([Enum].Parse(GetType(BorderStyle), _
borderStyleList.SelectedItem.Text), BorderStyle)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet8>
'<Snippet9>
Sub ChangeBorderWidth(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.BorderWidth = _
Unit.Parse(borderWidthList.SelectedItem.Text)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet9>
'<Snippet10>
Sub ChangeFont(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.Font.Name = _
fontNameList.SelectedItem.Text
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet10>
'<Snippet11>
Sub ChangeFontSize(ByVal sender As Object, ByVal e As System.EventArgs)
primaryStyle.Font.Size = _
FontUnit.Parse(fontSizeList.SelectedItem.Text)
Label1.ApplyStyle(primaryStyle)
ListBox1.ApplyStyle(primaryStyle)
Button1.ApplyStyle(primaryStyle)
Table1.ApplyStyle(primaryStyle)
TextBox1.ApplyStyle(primaryStyle)
End Sub
'</Snippet11>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Applied Style Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table cellpadding="6" border="0">
<tr>
<td rowspan="10" style="border:solid 1px Gray">
<p>
<asp:label id="Label1"
Text="Border Properties Example" Runat="server">
Label Styles
</asp:label>
</p>
<p>
<asp:button id="Button1" runat="server"
Text="Button Styles">
</asp:button>
</p>
<p>
<asp:listbox id="ListBox1" Runat="server">
<asp:ListItem Value="0" Text="List Item 0">
</asp:ListItem>
<asp:ListItem Value="1" Text="List Item 1">
</asp:ListItem>
<asp:ListItem Value="2" Text="List Item 2">
</asp:ListItem>
</asp:listbox>
</p>
<p>
<asp:textbox id="TextBox1"
Text="TextBox Styles" Runat="server">
</asp:textbox>
</p>
<p>
<asp:table id="Table1" Runat="server">
<asp:TableRow>
<asp:TableCell Text="(0,0)"></asp:TableCell>
<asp:TableCell Text="(0,1)"></asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell Text="(1,0)"></asp:TableCell>
<asp:TableCell Text="(1,1)"></asp:TableCell>
</asp:TableRow>
</asp:table>
</p>
</td>
<td align="right">
<asp:Label ID="Label2" runat="server"
AssociatedControlID="borderColorList"
Text="Border Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label3" Runat="server"
AssociatedControlID="borderStyleList"
Text="Border Style:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderStyleList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderStyle">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label4" Runat="server"
AssociatedControlID="borderWidthList"
Text="Border Width">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="borderWidthList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBorderWidth">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label5" Runat="server"
AssociatedControlID="backColorList"
Text="Back Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="backColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeBackColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label6" Runat="server"
AssociatedControlID="foreColorList"
Text="Foreground Color:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="foreColorList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeForeColor">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label7" Runat="server"
AssociatedControlID="fontNameList"
Text="Font Name:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="fontNameList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeFont">
</asp:dropdownlist>
</td>
</tr>
<tr>
<td align="right">
<asp:Label ID="Label8" Runat="server"
AssociatedControlID="fontSizeList"
Text="Font Size:">
</asp:Label>
</td>
<td>
<asp:dropdownlist id="fontSizeList"
Runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ChangeFontSize">
</asp:dropdownlist>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
備註
類別 Style 會封裝控制 Web 伺服器控制元件外觀的屬性,並可套用至多個 Web 伺服器控制件,以提供常見的外觀。 您可以分別設定 BackColor 和 ForeColor 屬性,以指定控件的背景色彩和字型色彩。 在可以顯示框線的控制元件上,您可以藉由設定 BorderWidth、 BorderStyle和 BorderColor 屬性來控制框線寬度、框線樣式和框線色彩。 您也可以使用 Height 和 Width 屬性來指定 Web 伺服器控制元件的大小。
建構函式
Style() |
使用預設值,初始化 Style 類別的新執行個體。 |
Style(StateBag) |
使用指定的狀態包資訊,初始化 Style 類別的新執行個體。 |
屬性
BackColor |
取得或設定 Web 伺服器控制項的背景色彩。 |
BorderColor |
取得或設定 Web 伺服器控制項的框線色彩。 |
BorderStyle |
取得或設定 Web 伺服器控制項的框線樣式。 |
BorderWidth |
取得或設定 Web 伺服器控制項的框線寬度。 |
CanRaiseEvents |
取得值,指出元件是否能引發事件。 (繼承來源 Component) |
Container |
取得包含 IContainer 的 Component。 (繼承來源 Component) |
CssClass |
取得或設定用戶端上 Web 伺服器控制項所呈現的階層式樣式表 (CSS)。 |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。 (繼承來源 Component) |
Events |
取得附加在這個 Component 上的事件處理常式清單。 (繼承來源 Component) |
Font |
取得與 Web 伺服器控制項關聯的字型屬性。 |
ForeColor |
取得或設定 Web 伺服器控制項的前景色彩 (通常是文字的色彩)。 |
Height |
取得或設定 Web 伺服器控制項的高度。 |
IsEmpty |
保護的 (Protected) 屬性。 取得值,指出狀態包中是否已定義任何樣式項目。 |
IsTrackingViewState |
傳回值,指出是否任何的樣式項目都已經在狀態包中定義。 |
RegisteredCssClass |
取得使用控制項註冊的階層式樣式表 (CSS) 類別。 |
Site | (繼承來源 Component) |
ViewState |
取得保存樣式項目的狀態包。 |
Width |
取得或設定 Web 伺服器控制項的寬度。 |
方法
事件
Disposed |
當 Dispose() 方法的呼叫處置元件時,就會發生。 (繼承來源 Component) |
明確介面實作
IStateManager.IsTrackingViewState |
取得值,指出伺服器控制項是否正在追蹤其檢視狀態變更。 |
IStateManager.LoadViewState(Object) |
載入先前儲存的狀態。 |
IStateManager.SaveViewState() |
傳回包含狀態變更的物件。 |
IStateManager.TrackViewState() |
啟動追蹤狀態的變更。 |