日期:2009-03-07  浏览次数:20449 次

翻译: T.T (TPoI)

在这编文章中, 我将告诉你如何使用.NET FRAMEWORK类库中的WEB类来为WEB服务器控件创建和应用样式(Style).



System.Web.UI.WebControls.Style 类

Style类定义在System.Web.UI.WebControls名字空间, 用来描叙一个WEB服务器控件的样式. 该类的属性可以设置WEB服务器控件的外观, 或者多个WEB服务器控件使用一个通用的外观. 你可以通过这些属性来改变背景色, 前景色, 边框宽度, 边框样式和WEB服务器控件大小. 表1为Style类的属性

表1. Style类的属性

BackColor 获取或设置 Web 服务器控件的背景色
BorderColor 获取或设置 Web 服务器控件的边框颜色
BorderStyle 获取或设置 Web 服务器控件的边框样式
BorderWidth 获取或设置 Web 服务器控件的边框宽度
CSSClass 获取或设置由 Web 服务器控件在客户端呈现的 CSS 类 Font 获取与 Web 服务器控件关联的字体属性
ForeColor 获取或设置 Web 服务器控件的前景色(通常是文本颜色)
Height 获取或设置 Web 服务器控件的高度
Width 获取或设置 Web 服务器控件的宽度

System.Web.UI.WebControls.WebControl.ApplyStyle 方法

ApplyStyle方法是把你之前所设置的样式应用到一个Web服务器控件中去. 下面有一小段代码:

WebControl ctrl;
Style s;
// 设置Style的属性
………
// 应用Style
ctrl.ApplyStyle(s);


例子

现在我将用一个例子来讲解如何在WEB服务器控件中应用样式. 在Visual Studio.NET中建立一个WEB应用程序, 在Form中添加3个控件, Button, TextBox, ListBox. 给ListBox中添加一些items(使用Collection属性). 请看图一



现在再创建2个新的方法, CreateStyle和SetControlStyle. CreateStyle方法有7个参数, 为背景色,前景色等传递值. 这个方法返回一个Style的对象

// 这个方法创建一个新的样式

CreateStyle(Color backClr, Color foreClr, int borderWidth, string fntName, int fntSize, bool fntBold, bool fntItalic)
{
Style s = new Style();
s.BackColor = backClr;
s.ForeColor = foreClr;
s.BorderWidth = borderWidth;
s.Font.Name = fntName;
s.Font.Size = fntSize;
s.Font.Bold = fntBold;
s.Font.Italic = fntItalic;
return s;
}


// 这个方法将样式应用到一个WEB服务器控件中
private void SetControlStyle(System.Web.UI.WebControls.WebControl ctrl, Style s)
{
ctrl.ApplyStyle(s);
}


现在将创建按钮的click event

private void Button1_Click(object sender, System.EventArgs e)
{
Style st = CreateStyle(Color.Green, Color.Yellow, 3, "Verdana", 10, true, true);
SetControlStyle(TextBox1, st);
st = CreateStyle(Color.Red, Color.Black, 2, "Verdana", 12, true, true);
SetControlStyle(SetStyleBtn, st);
st = CreateStyle(Color.Blue, Color.Yellow, 2, "Verdana", 12, true, true);
SetControlStyle(ListBox1, st);
}