有时候我们需要修改我们控件的字体,色彩,大小等的项目。同时我还希望在Listeitem里面加载系统的字体列表以及色彩的列表。
先建立我们的文件
Default2.aspx
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
选择背景颜色<br />
<asp:DropDownList ID="listBackColor" runat="server" Width="168px">
</asp:DropDownList><br />
<br />
选择字体<br />
<asp:DropDownList ID="lstFontName" runat="server" Width="168px">
</asp:DropDownList><br />
<br />
字体大小<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<br />
边框样式<br />
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
</asp:RadioButtonList></div>
<br />
<br />
<asp:CheckBox ID="chkPic" runat="server" Text="使用默认图片" /><br />
<br />
要说的话<br />
<asp:TextBox ID="TextBox2" runat="server" Height="101px" TextMode="MultiLine" Width="192px"></asp:TextBox><br />
<br />
<asp:Button ID="cmdUpdate" runat="server" Text="选择好了" OnClick="cmdUpdate_Click" /><br />
<br />
<br />
<asp:Panel ID="pnlCard" runat="server" Height="70px" Width="476px">
<br />
<asp:Label ID="lblGreeting" runat="server" Text="Label"></asp:Label><br />
<br />
<asp:Image ID="imgDefault" runat="server" /></asp:Panel>
<br />
<br />
</form>
</body>
</html>
Default2.aspx.cs
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void cmdUpdate_Click(object sender, EventArgs e)
{
}
}
常规的做饭就是在Listitem里面一个一个添加内容。然后在cmdUpdate_Click 里面
使用
//更新色彩
pnlCard.BackColor = Color.FromName(lstBackColor.SelectedItem.Text);
//更新字体
lblGreeting.Font.Name =lstFontName.SelectedItem.Text;
//设定字体大小
lblGreeting.Font.Size = FontUnit.Point(Int32.Parse(textFontSize.Text));
//更新边框粗细
int boderValue = Int32.Parse(lstBorder.SelectedItem.Value):
pnlCard.BorderStyle =(BorderStyle)borderValue;
另外一种更加系统的更新办法
1.得到已经安装的所有字体的列表
System.Drawing.Text.InstalledFontCollection fonts;
fonts = new System.Drawing.Text.InstalledFontCollection();
foreach(FontFamily family in fonts.Families)
{
lstFontName.Items.Add(family.Name);
}
2.得到所有安装的色彩
string [] colorArray = Enum.GetNames(typeof(System.Drawing.KnownColor));
lstBackColor.DataSource =colorArray;
lstBackColor.DataBind();
3.borderstyle也是一样的
string [] borderStyleArray = Enum.GetNames(typeof(BorderStyle));
lstBorder.DataSource =borderStyleArray;
lstBorder.DataBind();