新手问题--关于自定义进度条控件

问题描述

我接触c#不久,想做一个自定义的进度条控件,要求是能够实现平滑渐变效果(如从左边的红色平滑渐变到右边的绿色),如果可能的话,增加一个渐变方式的属性,从中可以选择两端的颜色。我想问一下设计的思路。谢谢了

解决方案

解决方案二:
<html><head><title></title><scriptlanguage="javascript">//开始处理functionBeginTrans(msg){WriteText("Msg1",msg);}//设置进度条进度functionSetPorgressBar(msg,pos){ProgressBar.style.width=pos+"%";WriteText("Msg1",msg+"已完成"+pos+"%");}//处理结束functionEndTrans(msg){if(msg=="")WriteText("Msg1","完成。");elseWriteText("Msg1",msg);}//设置时间信息functionSetTimeInfo(msg){WriteText("Msg2",msg);}//更新文本显示信息functionWriteText(id,str){varstrTag='<fontface="Verdana,Arial,Helvetica"size="2"color="#ea9b02"><B>'+str+'</B></font>';if(document.all)document.all[id].innerHTML=strTag;}</script></head><body><tablealign="center"style="height:100%"><trstyle="height:45%"><td></td></tr><tr><td><divid="Msg1"style="height:16px;"><fontface="Verdana,Arial,Helvetica"size="2"color="#ea9b02"><b>正在加载...</b></font></div><divid="ProgressBarSide"style="width:300px;color:Silver;border-width:1px;border-style:Solid;"><divid="ProgressBar"align="center"style="height:20px;width:0%;background-color:#316AC5;"></div></div><divid="Msg2"style="height:16px;"><fontface="Verdana,Arial,Helvetica"size="2"color="#ea9b02"><b></b></font></div></td></tr><trstyle="height:50%"><td></td></tr></table></body></html>

usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.IO;usingSystem.Net;publicpartialclass_Default:System.Web.UI.Page{publicstaticstringresponse;protectedvoidPage_Load(objectsender,EventArgse){DateTimestartTime=System.DateTime.Now;DateTimeendTime=System.DateTime.Now;//根据ProgressBar.htm显示进度条界面stringtemplateFileName=Path.Combine(Server.MapPath("."),"ProgressBar.htm");StreamReaderreader=newStreamReader(@templateFileName,System.Text.Encoding.GetEncoding("gb2312"));stringhtml=reader.ReadToEnd();reader.Close();Response.Write(html);Response.Flush();System.Threading.Thread.Sleep(1000);stringjsBlock;//处理完成response+="<script>BeginTrans('开始处理...');</script>";Response.Write(jsBlock);Response.Flush();System.Threading.Thread.Sleep(1000);//根据处理任务处理情况更新进度条for(inti=1;i<=100;i++){System.Threading.Thread.Sleep(20);jsBlock="<script>SetPorgressBar('"+"A"+i.ToString()+"','"+i.ToString()+"');</script>";Response.Write(jsBlock);Response.Flush();}//处理完成jsBlock="<script>EndTrans('处理完成。');</script>";Response.Write(jsBlock);Response.Flush();//用时endTime=DateTime.Now;jsBlock="<script>SetTimeInfo('用时"+GetTimeSpan(startTime,endTime)+"');</script>";Response.Write(jsBlock);Response.Flush();}protectedstringGetTimeSpan(DateTimestartTime,DateTimeendTime){stringtimeSpan=string.Empty;TimeSpants=endTime-startTime;if(ts.Days>0)timeSpan+=ts.Days.ToString()+"天";if(ts.Hours>0)timeSpan+=ts.Hours.ToString()+"小时";if(ts.Minutes>0)timeSpan+=ts.Minutes.ToString()+"分钟";if(ts.Seconds>0)timeSpan+=ts.Seconds.ToString()+"秒";returntimeSpan;}}

解决方案三:
remex著于2007-7-197:31:21本文介绍在.netframework下,如果做一个Vista风格进度条的用户控件。该文使用的技术是GDI+。ivanx著于2007-8-299:23:59以前,大家都采用一个进度条显示程序正在加载。不过,这已经不再流行了。看看SQLServer、WindowsMedia、Encarta2006或Firefox/IE7加载页面时,都是采用一个不断旋转的圈,以显示程序正在载入。本文实现...还有很多自己看吧

时间: 2024-08-04 13:17:57

新手问题--关于自定义进度条控件的相关文章

VB编写一个能显示百分比的自定义进度条控件

百分比|控件|显示 运行效果: 设计方法: 1.在UserControl中添加一个Label控件Label1,将它设为平面,用来做外框.添加两个PictureBox控件PictureBox1做为进度指示,PictureBox2控件做为控件背景. 2.加入以下代码 Option Explicit '定义私有变量用于存储属性值Private mvarMax As LongPrivate mvarMin As LongPrivate mvarValue As Long Private Rate As

Android自定义View圆形进度条控件(三)

继续练习自定义View,这次带来的圆形进度条控件与之前的圆形百分比控件大同小异,这次涉及到了渐变渲染以及画布旋转等知识点,效果如下: 虽然步骤类似,但是我还是要写,毕竟基础的东西就是要多练 1.在res/values文件夹下新建attrs.xml文件,编写自定义属性: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Circ

ASP.NET2.0:Ilungasoft.Framework.Web之基于Callback的无刷新上传进度条控件[带源码]

asp.net|web|控件|上传|刷新|无刷新 共享一个基于Callback的无刷新上传进度条控件的源码.本控件使用的HttpMoudule基于宝玉的一个上传进度条的sample,这里封装为一个控件,方便使用.无需任何代码,只需设置web.config,添加HttpModule的引用,再将控件拖到页面就行.页面中的文件保存操作和传统的asp.net文件上传完全一样.可以设置属性上传过程中出错或上传成功时跳转到其它页面.兼容IE,Firefox,Opera.其它环境没测试,不过因为是基于Asp.

vb进度条控件个性使用

相关文章: 用VB做个漂亮的进度条 源代码压缩包中包含ccrpProgressBar控件 简介 VB的第三方控件ccrpProgressBar是一个进度条的控件,可以有多种形态供选择.比起VB 中自带的进度条控件ProgressBar更有个性. 使用实例: 用ccrpProgressBar制作各式各样的进度条 在VB中自带了一个进度条控件ProgressBar,但功能简单.我向大家推荐一个VB的第三方进度条控件ccrpProgressBar.该控件功能强大,有多种形态供选择,而且只需要简单的设置

看实例学VFP:进度条控件

我们在使用Windows系统的时候,如果复制一个较大的文件或者是从网上下载东西,在复制或下载的过程中都会出现一个对话框,并且在该对话框中会有一个进度条来显示复制或下载的进度.在vfp可以使用进度条控件(ProcessBar)来实现类似的功能,有的场合下可以用到它,比如软件包含了数据备份的功能,可以用它来显示备份的进度.但是这个控件的使用不是必须的,使用它无非是可以让你编的东西看起来更专业些. 进度条控件有几个比较重要的属性,如下: min:进度条的最小值,默认为0. max:进度条的最大值,默认

statusbar控件上加载进度条控件,怎么在按钮和进度条间切换呢?

问题描述 statusbar控件上加载进度条控件,怎么在按钮和进度条间切换呢? statusbar控件上加载进度条控件,当加载完成,进度条消失,显示按钮,再次加载的时候隐藏按钮显示进度条,怎么在按钮和进度条间切换呢? 解决方案 你可以定义两个panel,分别加载按钮和进度条,需要哪个就显示哪个. 解决方案二: 进度条控件 解决方案三: 按钮和进度条你肯定都能访问到,通过设置visible控制

有没有什么进度条控件并且数据可以从数据库里面来

问题描述 有没有什么进度条控件并且数据可以从数据库里面来 如题,求大神介绍一个进度条控件并且跟数据库相连的,拜托拜托,可以的话教一下怎么使用,毕不了业了 解决方案 就用标准的ProcessBar就可以了,将数据从数据库读取后,设置给Value属性. 解决方案二: processBar.Value = 你读出来的值;

processbar进度条控件,怎么在进度中增加一个百分比的显示?

问题描述 processbar进度条控件,怎么在进度中增加一个百分比的显示? processbar进度条控件,怎么在进度中增加一个百分比的显示?如果用了label,会遮挡进度条的色块,不美观怎么解决? 解决方案 http://www.softhy.net/soft/30444.htm 解决方案二: 要有百分比的显示建议使用 ProgressIndicator

VB 6.0的进度条控件怎么变成圆形的进度条

问题描述 VB 6.0的进度条控件怎么变成圆形的进度条 VB6.0的进度条怎么设置成圆形的进度条,类似迅雷下载的效果,并且在圆的中间显示数字的进度提示 解决方案 用imagelist,按照百分比绘制好图片,动态加载. 解决方案二: 自己编写vb进度条控件