进度条(很牛)(html 支持asp,asp.net,dotnet,java,j2ee,php)

/* 
ProgressBar.htm 
*/ 
<html> 
<head> 
   <title></title> 
   <script language="javascript"> 
//设置进度条进度 
function SetPorgressBar(msg, pos) 

ProgressBar.style.width= pos + "%"; 
WriteText("Msg1",msg + "已完成" + pos + "%"); 

//设置进度条完成信息 
function SetCompleted(msg) 

if(msg=="") 
   WriteText("Msg1","完成。"); 
   else 
    WriteText("Msg1",msg);     

// 更新文本显示信息 
function WriteText(id, str) 

var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>';     
if (document.all) document.all[id].innerHTML = strTag; 

   </script> 
</head> 
<body> 
   <div align="center" style="font-size:12px;position:absolute;TOP:184px;LEFT:250px;overflow:visible"> 
    <div align="left" id="Msg1"><font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><b>正在加载</b></font></div> 
    <div align="left" id="ProgressBarSide" style="color:Silver;border-width:1px;border-style:Solid;width:300px;"> 
    <div align="left" id="ProgressBar" style="background-color:#3366FF; height:21px; width:0%;"></div> 
    </div> 
   </div> 
</body> 
</html> 
/* 
.cs中加 
*/ 
//加进度条 
    string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); 
    StreamReader reader = new StreamReader(@templateFileName,System.Text.Encoding.GetEncoding("gb2312")); 
    string html = reader.ReadToEnd(); 
    reader.Close(); 
    Response.Write(html); 
    Response.Flush(); 
    System.Threading.Thread.Sleep(200); 
    string jsBlock; 
    //加进度条 
//-------------------------------------------------------------------------------------- 
for(int i=0;i<ip;i++)
{
//加进度条进程 
//path 为文件名
     System.Threading.Thread.Sleep(10); 
     jsBlock = "<script>SetPorgressBar('" +path + "','" + ((Convert.ToDouble(i)/Convert.ToDouble(ip))*100).ToString("N") + "');</script>"; 
     Response.Write(jsBlock); 
     Response.Flush(); 
     //加进度条进程 

}





转载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1版本解决了1.0版本的一个bug,使用1.0缓存区过小,可能导致界面假死(实际上没有失去响应,可以点击按钮,原因是界面更新太快)。<br><br>Win Form软件在发布以后的更新和维护,是程序员门最头疼的问题。DotNet 2.0提供了ClickOnce可以很好的实现功能。但是绝大部分程序员还是愿意在自己开发的程序内部提供升级功能。升级的原理实现虽然不难,但是对于很多新手来说还是有一定的困难。为此我将下载升级的功能进行了封装,大家可以很方便的简单设置几个参数就可以完成功能。以下简单介绍一下如何使用本程序。<br>首先在你的项目中引用UpdateModule.dll,引用UpdateModule名字空间,实例化一个UpdateClass类。设置好一些必要属性:FileList:文件列表、RemoteUrl:远程地址、SavePath:本地存储路径、BufferSize:缓存区大小(默认为1024000字节,不宜设置太小)、WindowText:升级窗口标题、WindowIcon:升级窗口图标。注册好两个处理事件UpdateComplete(下载完成事件)、UpdateError(下载出错事件)。然后调用StartUpdate()方法就可以实现从网络下载必要程序、以下是代码说明。<br>UpdateClass update = new UpdateClass();<br> ArrayList list = new ArrayList();<br> list.Add("my.txt");<br> list.Add("my.docx");<br> list.Add("my.zip");<br> update.FileList = list;<br> update.RemoteUrl = "http://127.0.0.1:8080/update/";<br> update.SavePath = Application.StartupPath + "\\Temp";<br> update.WindowText = "XX软件自动更新";<br> update.WindowIcon = new Icon(@"c:\Icon.Ico");<br> update.BufferSize=2048000;<br> update.UpdateComplete += new UpdateClass.UpdateCompleteHandler(update_UpdateComplete);<br> update.UpdateError += new UpdateClass.UpdateErrorHandler(update_UpdateError);<br> update.StartUpdate();<br>下载完成你可以处理诸如文件拷贝或者安装程序等各种操作,欢迎大家提出意见。<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值