下面是我的进度条控件:
边框和颜色都可以设置,也可在后面显示100%
下面是部分源代码:
2 /// 作者:王永强|HeroBeast|海尔比斯特
3 /// 时间:2006-12-28
4 /// 功能:显示为一个进度条,可设置显示颜色等属性
5 /// </summary>
6 [DefaultProperty( " Text " ),
7 ToolboxData( " <{0}:HBProcessBar runat=server></{0}:HBProcessBar> " )]
8 public class HBProcessBar : System.Web.UI.WebControls.WebControl
9 {
10 private int _iCurrentValue;
11
12 // 开发时间
13 [
14 Bindable( true ),
15 Category( " HBProcessBar " ),
16 DefaultValue( "" ),
17 Description( " 当前进度值 " )
18 ]
19 public int CurrentValue
20 {
21 get { return _iCurrentValue; }
22 set { _iCurrentValue = value; }
23 }
24 public override Unit Width
25 {
26 get
27 {
28 return base .Width;
29 }
30 set
31 {
32 base .Width = value;
33 }
34 }
35 public override Unit Height
36 {
37 get
38 {
39 return base .Height;
40 }
41 set
42 {
43 base .Height = value;
44 }
45 }
46
47
48 //
49 public HBProcessBar()
50 {
51 _iCurrentValue = 0 ;
52 }
53 private bool _ShowPercent = true ;
54 [
55 Bindable( true ),
56 Category( " HBProcessBar " ),
57 DefaultValue( "" ),
58 Description( " 是否显示100% " )
59 ]
60 public bool ShowPercent
61 {
62 get { return _ShowPercent; }
63 set { _ShowPercent = value;}
64 }
65 private string _borderColor = " #003300 " ;
66 [
67 Bindable( true ),
68 Category( " HBProcessBar " ),
69 DefaultValue( "" ),
70 Description( " 边框颜色 " )
71 ]
72 public string BorderColors
73 {
74 get { return _borderColor ;}
75 set { _borderColor = value;}
76 }
77 private string _border = " 1 " ;
78 [
79 Bindable( true ),
80 Category( " HBProcessBar " ),
81 DefaultValue( "" ),
82 Description( " 边框大小 " )
83 ]
84 public string Border
85 {
86 get { return _border; }
87 set { _border = value;}
88 }
89
90 private string _StartColor = " green " ;
91 [
92 Bindable( true ),
93 Category( " HBProcessBar " ),
94 DefaultValue( "" ),
95 Description( " 渐变开始颜色 " )
96 ]
97 public string StartColor
98 {
99 get { return _StartColor ; }
100 set { _StartColor = value; }
101 }
102 private string _EndColor = " GhostWhite " ;
103 [
104 Bindable( true ),
105 Category( " HBProcessBar " ),
106 DefaultValue( "" ),
107 Description( " 渐变结束颜色 " )
108 ]
109 public string EndColor
110 {
111 get { return _EndColor;}
112 set { _EndColor = value;}
113 }
114 /// <summary>
115 /// 将此控件呈现给指定的输出参数。
116 /// </summary>
117 /// <param name="output"> 要写出到的 HTML 编写器 </param>
118 protected override void Render(HtmlTextWriter output)
119 {
120 output.Write( " <TABLE cellSpacing='0' cellPadding='0' height=' " + base .Height.ToString() + " ' border=' " + this ._border + " ' borderColor=' " + this ._borderColor + " '> " );
121 output.Write( " <TR> " );
122 output.Write( " <TD width=' " + base .Width.ToString() + " '> " );
123
124 // 正文开始
125
126 output.Write( " <TABLE cellSpacing='0' cellPadding='0' width=' " + base .Width.ToString() + " ' border='0' height=' " + base .Height.ToString() + " ' " );
127 output.Write( " <TR> " );
128 output.Write( " <TD> " );
129 // 第二个表
130 output.Write( " <TABLE style='FILTER:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr= " + this ._StartColor + " , EndColorStr= " + this ._EndColor + " cellSpacing='0' cellPadding='0' width=' " + _iCurrentValue.ToString() + " %' border='0' height=' " + base .Height.ToString() + " ' bgColor='red'> " );
131
132 output.Write( " <TR><TD align='center'> " + _iCurrentValue.ToString() + " % " + " </TD></TR> " );
133
134 output.Write( " </TABLE> " );
135 //
136 output.Write( " </TD> " );
137 output.Write( " </TR> " );
138 output.Write( " </TABLE> " );
139 // 正文结束
140
141 output.Write( " </TD> " );
142 if (_ShowPercent)
143 {
144 output.Write( " <TD width='10'> " );
145 output.Write( " 100% " );
146 output.Write( " </TD> " );
147 }
148 output.Write( " </TR> " );
149 //
150 output.Write( " </TABLE> " );
151
152 }
153 }
下面是源代码:
进度条控件源代码
希望大家批评指正。
所有评论(0)