首页 新闻 会员 周边

给新建控件添加能设置样式的属性

0
悬赏园豆:20 [已关闭问题] 关闭于 2010-09-29 13:43

我自定义了一个控件,想在使用这个控件的时候,通过设置他对应的属性来设置他的样式(包括字体,颜色,背景,表格边框,表格大小等等),

请问我在定义控件时怎么写代码能实现这样的功能

有详细代码最好

非常感谢!另外祝您中秋快乐!

七夜雪的主页 七夜雪 | 初学一级 | 园豆:125
提问于:2010-09-20 14:41
< >
分享
所有回答(3)
0

通过属性绑定?但是这样不大好,感觉,可以实现,但是感觉不大好。。。

顾晓北 | 园豆:10844 (专家六级) | 2010-09-20 14:46
怎么实现啊, 我刚上班,上司让我实现了 我找了半天也没找到好的办法
支持(0) 反对(0) 七夜雪 | 园豆:125 (初学一级) | 2010-09-20 14:57
如果你真想实现可以这样,控件最外面的标签(比如说是一个div)你设置id,设置run=server属性,这样的话你可以控制他的样式,然后你在后台这样: private string style; [Bindable(true)] public string Style {set;} 然后在控件的load事件里面写 (最外面的那个标签的id).class=style;//style是css类名 这样可以实现,但是你这样,控制不灵活,而且感觉也没必要啊。。。
支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2010-09-20 15:03
怎么不灵活呢,别人拿我这个控件用的话,设置设置属性就可以直接在旁边的样式里设置了啊 ,而不用再代码里了,就像系统自带的控件一样,我们通过设置他的样式属性就Ok了,不要看他代码了 至于你给的方法,我马上试试。 不管怎样,非常感谢
支持(0) 反对(0) 七夜雪 | 园豆:125 (初学一级) | 2010-09-20 15:11
0

给自定义控件增加多种属性,并设置相关的默认值。然后在自定义控制呈现的时候,你拼接这些属性生成CSS Style代码,就是生成对应的CSS属性。

Astar | 园豆:40805 (高人七级) | 2010-09-20 17:05
0

ASP.NET 数据分页第四篇 - WizardGridView 威力加强版  

http://www.cnblogs.com/WizardWu/archive/2008/09/28/1301616.html

新增了 5 个「属性」,程序员可从 VS 2005/2008 的「属性」窗口,以图形界面直接做设定。

WizardGridView.cs

using System.Drawing;

private System.Drawing.Color FOddRowBackColor = System.Drawing.Color.Empty; // 單數列的背景顏色
private System.Drawing.Color FEvenRowBackColor = System.Drawing.Color.Empty; // 雙數列的背景顏色
private System.Drawing.Color FMouseOverBackColor = System.Drawing.Color.Empty; // 滑鼠移至資料列上時的背景顏色


/// <summary>
/// 單數列的背景顏色。
/// </summary>
[System.ComponentModel.DefaultValue(""),
System.ComponentModel.Category(
"Wizard - Appearance"),
System.ComponentModel.Description(
"The background color of odd row.")]
public System.Drawing.Color OddRowBackColor
{
get
{
return FOddRowBackColor;
}
set
{
FOddRowBackColor
= value;
}
}


// 光棒 - 雙數列的背景顏色
/// <summary>
/// 雙數列的背景顏色。
/// </summary>
[System.ComponentModel.DefaultValue(""),
System.ComponentModel.Category(
"Wizard - Appearance"),
System.ComponentModel.Description(
"The background color of even row.")]
public System.Drawing.Color EvenRowBackColor
{
get
{
return FEvenRowBackColor;
}
set//(value As System.Drawing.Color)
{
FEvenRowBackColor
= value;
}
}

 

WizardWu | 园豆:1402 (小虾三级) | 2010-09-20 17:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册