以下文章翻译自 http://www.beansoftware.com/ASP.NET-Tutorials/ProgressBar-User-Control.aspx 。若有任何疑问,可以互相交流( goalbell@gmail.com) 。
<asp:TableID="tblProgressBar"runat="server"
BorderWidth="1px"
CellPadding="1"
CellSpacing="1"
Height="15px"
Width="200px">
</asp:Table>
<uc1:ProgressbarID="Progressbar1"runat="server"BGColor="Gray"Blocks="20"BorderColor="Black"
BorderSize="1"Cellpadding="1"CellSpacing="1"FillColor="Green"Height="20"Value="10"
Width="150"/>
Blocks:这是一个重要的属性。Blocks将决定每一步显示的垂直横条数目。从以上HTML显示来看,你可以观察到Blocks的值为20。这个值作为一个基值。值的属性以及Block属性值使用以下给出的决定垂直横条每一步填满的数目的公式。
Blocks Property(Base Values)
|
Value Property (percent completed)
|
Number of Vertical bars
|
20
|
10
|
2
|
20
|
20
|
4
|
20
|
30
|
6
|
20
|
40
|
8
|
20
|
50
|
10
|
BorderSize ="1" Cellpadding ="1" CellSpacing ="1" FillColor ="Green" Height ="20" Value ="10"
Width ="150" />
< br />
< asp : Label ID ="Label1" runat ="server" Text ="Percent Complete"></ asp : Label >
< asp : Label ID ="Label2" runat ="server" Text ="Value"></ asp : Label >
< br />
< asp : Button ID ="Button1" runat ="server" Text ="Progress" /></ div >
无论什么时候我们增加任何用户控件到任何页面都要谨慎,我们应该按照以下显示那样注册我们的页面 。
我们增加了一些Labels来显示在数值和可读格式上的状态。
从以上数字显示来看,你可以看出当用户单击Progress按纽的时候,ProgressBar会按照用户控件设置的属性值递增 。
ViewState.Add( "PBValue" , 10)
End If
If ( CInt (ViewState.Item( "PBValue" )) >= 100) Then
Progressbar1.Value = 100
Label2.Text = "The Progress is complete"
Return
End If
ViewState.Item( "PBValue" ) = CInt (ViewState.Item( "PBValue" )) + 10
Progressbar1.Value = CInt (ViewState.Item( "PBValue" ))
Label2.Text = ViewState.Item( "PBValue" ).ToString() + "%"