进度条如何显示进度条

进度条  时间:2021-08-08  阅读:()

如何显示进度条

使用C#显示进度条,涉及到多线程编程,我只探索了使用BackgroundWorker和Thread的方法,下面分别列出。

第一种:使用BackgroundWorker进行进度条控制 BackgroundWorker对象有三个主要的事件: DoWork - 当BackgroundWorker对象的多线程操作被执行时触发。

RunWokerCompleted - 当BackgroundWoker对象的多线程操作完成时触发。

ProgressChanged - 当BackgroundWorker对象的多线程操作状态改变时触发。

WorkerReportsProgress - 如果想让BackgroundWorker对象以异步的方式报告线程实时进度,必须将该属性的值设为true。

BackgroundWorker对象的ReportProgress方法用于向主线程返回后台线程执行的实时进度。

实例代码一,控制主窗体中的进度条显示 [csharp] view plaincopy public partial class Form1 : Form { /// /// 后台线程 /// private BackgroundWorker bkWorker = new BackgroundWorker(); /// /// 步进值 /// private int percentValue = 0; public Form1() { InitializeComponent(); bkWorker.WorkerReportsProgress = true; bkWorker.WorkerSupportsCancellation = true; bkWorker.DoWork += new DoWorkEventHandler(DoWork); bkWorker.ProgressChanged += new ProgressChangedEventHandler(ProgessChanged); bkWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(CompleteWork); } private void btnStart_Click(object sender, EventArgs e) { percentValue = 10; this.progressBar1.Maximum = 1000; // 执行后台操作 bkWorker.RunWorkerAsync(); } public void DoWork(object sender, DoWorkEventArgs e) { // 事件处理,指定处理函数 e.Result = ProcessProgress(bkWorker, e); } public void ProgessChanged(object sender, ProgressChangedEventArgs e) { // bkWorker.ReportProgress 会调用到这里,此处可以进行自定义报告方式 this.progressBar1.Value = e.ProgressPercentage; int percent = (int)(e.ProgressPercentage / percentValue); this.label1.Text = "处理进度:" + Convert.ToString(percent) + "%"; } public void CompleteWork(object sender, RunWorkerCompletedEventArgs e) { this.label1.Text = "处理完毕!"; } private int ProcessProgress(object sender, DoWorkEventArgs e) { for (int i = 0; i <= 1000; i++) { if (bkWorker.CancellationPending) { e.Cancel = true; return -1; } else { // 状态报告 bkWorker.ReportProgress(i); // 等待,用于UI刷新界面,很重要 System.Threading.Thread.Sleep(1); } } return -1; } }

c++ 简单进度条

给你个思路吧,写代码可能有点麻烦,1当前播放进度,先获取你播放文件的时长,然后设置用进度条的setrange32方法,处理wm_timer消息,调用getpos获得当前进度条位置,然后setpos,

2:如果是下载,基于网络tcp/ip的话,首先要获取发送的第一次数据包,一般里面都是封包吧,有文件的全部信息,你要获取文件的大小,后面的同上,

3:点击进度条,要处理的是wm_hscroll消息,用到一些数学上的计算,算出该播放那一段文件。

调用wmp的设置在哪播放,后面同上。

如何显示进度条

一、实现原理 采用一个完整的图片来作为进度条,每次当进度条改变时,采用先贴图再用背景色擦去不需显示的一段进度的方法来实现进度条的变化,可实现制作任何复杂美观的进度条。

二、准备工作 首先需准备一个如下图样式的进度条图片(当然你可以做你自己喜欢的样式)。

然后在窗体中加入一PictureBox控件,属性设置如下: AutoSize:True Appearance:Falt AutoRedraw:True ScaleMode: Pixel Picture:〃准备的图片〃 再加一辅助控件(只用于保存图片,方便快捷地使用进度条)Image,属性设置如下: Picture:〃准备的图片〃 Visible:FALSE 说明:本文所讲的进度条并不是狭义上那种安装程序中常见的仅表示一个事件进程的进度条,而是把那些条形的,表示一个量的大小的图示统称为进度条。

以此概念为基础让我们先来看看它的一些用途和类别,然后给出各类进度条的实现。

CloudCone(12.95美元/月CN2 GT线路,KVM架构1 Gbps带宽

整理一下CloudCone商家之前推送的闪购VPS云服务器产品,数量有限,活动推出可能很快机器就售罄了,有需要美国便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开发的主机系统面板,CloudCone主要销售美国洛杉矶云服务器产品,优势特点是...

iON Cloud:新加坡cn2 gia vps/1核/2G内存/25G SSD/250G流量/10M带宽,$35/月

iON Cloud怎么样?iON Cloud升级了新加坡CN2 VPS的带宽和流量最低配的原先带宽5M现在升级为10M,流量也从原先的150G升级为250G。注意,流量也仅计算出站方向。iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠...

sharktech:老牌高防服务器商,跳楼价,1G独享$70、10G共享$240、10G独享$800

不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服务器。根据不同的机房,价格也是不一样的。大带宽、不限流量比较适合建站、数据备份、做下载、做流媒体、做CDN等多种业务。 官方网站:https://www.sharktech.net 付款方式:比特币、信用卡、PayPal、支付宝、西联汇款 以最贵的洛杉矶机器为例,配置表如...

进度条为你推荐
sap是什么SAP是什么东西巴西时区巴西与中国的时差是多少安卓模拟器哪个好用安卓模拟器中文版哪个好?系统登录界面电脑启动总是出现登录界面怎么解决qsv视频格式转换器简单好用的qsv格式转换器有哪些?印度it印度IT真的很强?印度it为什么说在IT印度远远领先中国水平?协亨协亨,话机世界,迪信通哪个买手机更便宜?tplink端口映射TP-link 怎样设置内网端口映射tplink端口映射tp link路由怎么映射外网
二级域名 域名空间购买 花生壳免费域名申请 阿云浏览器 罗马假日广场 阿里云os 主机测评网 国外主机 鲜果阅读 正版win8.1升级win10 xen 警告本网站 web服务器的架设 怎么测试下载速度 爱奇艺vip免费试用7天 广州服务器 网游服务器 服务器硬件防火墙 西安服务器托管 东莞主机托管 更多