我从数据库取数据,因为数据量比较大,所以想做个进度条来显示进度,请赐教些思路
对于进度条我只知道设置maxlenght和step的值,呵呵

解决方案 »

  1.   

    定个全局变量
    bool isProcessEnd = flase控制进度条的函数里写
    while( !isProcessEnd )
        process.Value += n;用你取数据的那个线程来改变isProcessEnd的值
      

  2.   

    1.如果你是WinForm 用一个Timer 控件或New一个线程,来控制进度条件的Value属性2。如果你是WebForm:
    Visual C# .NET代码 
    using System.Threading;Visual Basic .NET代码 
    Imports System.Threading在Page_Load事件里输入: Visual C# .NET代码 
    Response.Write("<div id='mydiv' >");
    Response.Write("_");
    Response.Write("</div>");
    Response.Write("<script>mydiv.innerText = '';</script>");
    Response.Write("<script language=javascript>;");
    Response.Write("var dots = 0;var dotmax = 10;function ShowWait()");
    Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;");
    Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText =  output;}");
    Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ");
    Response.Write("window.setInterval('ShowWait()',1000);}");
    Response.Write("function HideWait(){mydiv.style.visibility = 'hidden';");
    Response.Write("window.clearInterval();}");
    Response.Write("StartShowWait();</script>");
    Response.Flush();
    Thread.Sleep(10000);Visual Basic .NET代码 
    Response.Write("<div id='mydiv' >")
    Response.Write("_")
    Response.Write("</div>")
    Response.Write("<script>mydiv.innerText = '';</script>")
    Response.Write("<script language=javascript>;")
    Response.Write("var dots = 0;var dotmax = 10;function ShowWait()")
    Response.Write("{var output; output = '正在装载页面';dots++;if(dots>=dotmax)dots=1;")
    Response.Write("for(var x = 0;x < dots;x++){output += '·';}mydiv.innerText =  output;}")
    Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ")
    Response.Write("window.setInterval('ShowWait()',1000);}")
    Response.Write("function HideWait(){mydiv.style.visibility='hidden';")
    Response.Write("window.clearInterval();}")
    Response.Write("StartShowWait();</script>")
    Response.Flush()
    Thread.Sleep(10000)在ShowProgress.aspx窗体的html的中输入: 
    <script>
    HideWait();
    </script>点在浏览器