C#带百分比的进度条
功能需求:
如果程序中会执行一个耗时的计算过程,我想在用户点击按钮后,弹出一个进度条窗口,显示正在执行的进度(最好能带有百分比),执行完成后,进度条窗口关闭,回到主程序窗口。 在关闭子窗口之前父窗体不能点击操作。 ====================================================== 先设计Form2进度条窗体,在Form2中央上放ProgressBar控件progressBar1和Label控件label1,代码: public partial class Form2 : Form
{
public Form2(int _Minimum,int _Maximum)//带参数,表示进度条的范围的最小值和最大值
{
InitializeComponent();
progressBar1.Maximum=_Maximum;//设置范围最大值
progressBar1.Value = progressBar1.Minimum = _Minimum;//设置范围最小值 }
public void setPos(int value)//设置进度条当前进度值
{
if (value < progressBar1.Maximum)//如果值有效 {
progressBar1.Value = value;//设置进度值
label1.Text = (value * / progressBar1.Maximum).ToString() + "%";//显示百分比
}
Application.DoEvents();//重点,必须加上,否则父子窗体都假死
}
private void Form2_Load(object sender, EventArgs e)
{
this.Owner.Enabled = false;//设置父窗体不可用
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.Owner.Enabled = true;//回复父窗体为可用
}
} ================================================================= 调用窗体For1m设计,添加Button控件button1,事件代码: private void button1_Click(object sender, EventArgs e)
{
Form2 fm = new Form2(,);
fm.Show(this);//设置父窗体
for (int i = ; i < ; i++)
{
fm.setPos(i);//设置进度条位置
Thread.Sleep();//睡眠时间为100
}
fm.Close();//关闭窗体
} **************************************************************************** 补充:有朋友说在vs2003中fm.Show(this):是不支持的,那么可以将From2的构造函数多加一个参数: **************************************************************************** public Form OwnerForm;
public Form2(int _Minimum,int _Maximum,Form _OwnerForm)//带参数,表示进度条的范围的最小值和最大值
{
InitializeComponent();
progressBar1.Maximum=_Maximum;//设置范围最大值
progressBar1.Value = progressBar1.Minimum = _Minimum;//设置范围最小值 this.OwnerForm=_OwnerForm; }
private void Form2_Load(object sender, EventArgs e)
{
this.OwnerForm.Enabled = false;//设置父窗体不可用
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
this.OwnerForm.Enabled = true;//回复父窗体为可用
} Form1中相应的修改为: private void button1_Click(object sender, EventArgs e)
{
Form2 fm = new Form2(,,this);
fm.Show();//设置父窗体
for (int i = ; i < ; i++)
{
fm.setPos(i);//设置进度条位置
Thread.Sleep();//睡眠时间为100
}
fm.Close();//关闭窗体
}
C#带百分比的进度条的更多相关文章
- 我的Android进阶之旅------>Android自定义View实现带数字的进度条(NumberProgressBar)
今天在Github上面看到一个来自于 daimajia所写的关于Android自定义View实现带数字的进度条(NumberProgressBar)的精彩案例,在这里分享给大家一起来学习学习!同时感谢 ...
- 简单实用的纯CSS百分比圆形进度条插件
percircle是一款简单实用的纯CSS百分比圆形进度条插件.你不需要做任何设置,只需要按该圆形进度条插件提供的标准HTML结构来编写代码,就可以生成一个漂亮的百分比圆形进度条. 首先要做的就是引入 ...
- canvas绘制百分比圆环进度条
开发项目,PM会跟踪项目进度:完成某个事情,也可以设置一个完成的进度. 这里用canvas绘制一个简单百分比圆环进度条. 看下效果: 1. 动画方式 2. 静默方式 // 贴上代码,仅供参考 ...
- 仿微信中加载网页时带线行进度条的WebView的实现
finddreams:http://blog.csdn.net/finddreams/article/details/44172639 为了仿微信中加载网页时带进度条的WebView的实现,首先我们来 ...
- QTableView带可编辑进度条
main文件与上一个例子完全一致,也使用QStandardItemModel,关键是有这句:QStandardItem.setEditable(false); 继承QAbstractItemDele ...
- Android 自定义view --圆形百分比(进度条)
转载请注明出处:http://blog.csdn.net/wingichoy/article/details/50334595 注:本文由于是在学习过程中写的,存在大量问题(overdraw onDr ...
- 给H5页面添加百分比的进度条,精确度高
进度条样式地址:http://sandbox.runjs.cn/show/6vxbxjrf SVG圆环样式地址:http://sandbox.runjs.cn/show/3ho1qpe9 原理:由于H ...
- 在ProgressBar上加文字----显示百分比的进度条
http://www.cnblogs.com/3dant/archive/2011/04/25/2026776.html
- 使用ajax实现简单的带百分比进度条
需求:当进行文件上传保存等操作时,能在页面显示一个带百分比的进度条,给用户一个好的交互体验 实现步骤 JSP页面 1.添加table标签 <table id="load" w ...
随机推荐
- MVC框架中的值提供机制(二)
在MVC框架中存在一些默认的值提供程序模板,这些值提供程序都是通过工厂模式类创建;在MVC框架中存在需要已Factory结尾的工厂类,在值提供程序中也存在ValueProviderFactories工 ...
- Cannot run program "svn" (in directory "G:\IntelliJ IDEA 2017.2.5"): CreateProcess error=2, 系统找不到指定的文件。
- New Concept English three (28)
27w/m 87 Small boats loaded with wares sped to the great liner as she was entering the harbour. Befo ...
- c#中绝对路径和相对路径
文件操作涉及一个非常重要的概念——文件路径.文件路径是指用来标识系统中文件存放位置的字符串.如:D:\\test.txt,表示在D盘根目录下存入test.txt文件. 文件路径分为绝对路径和相对路径. ...
- 探索Javascript 异步编程
在我们日常编码中,需要异步的场景很多,比如读取文件内容.获取远程数据.发送数据到服务端等.因为浏览器环境里Javascript是单线程的,所以异步编程在前端领域尤为重要. 异步的概念 所谓异步,是指当 ...
- How to handle your webdriver exceptions
The most common exceptions and their solutions: NoAlertPresentException Indicates that a user has tr ...
- 有了Docker的程序猿们就能开启“上帝视角”?
现在,如果有程序猿说不知道Docker,这将是难以想象的. 百科是这样描述Docker的."Docker是dotCloud开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植 ...
- [面试时]我是如何讲清楚TCP/IP是如何实现可靠传输的 转
[面试时]我是如何讲清楚TCP/IP是如何实现可靠传输的 - shawjan的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/shawjan/article/det ...
- HDU - 6197:array array array (简单LIS)
One day, Kaitou Kiddo had stolen a priceless diamond ring. But detective Conan blocked Kiddo's path ...
- asp.net core mcroservices 架构之 分布式日志(三):集成kafka
一 kafka介绍 kafka是基于zookeeper的一个分布式流平台,既然是流,那么大家都能猜到它的存储结构基本上就是线性的了.硬盘大家都知道读写非常的慢,那是因为在随机情况下,线性下,硬盘的读写 ...