时间:2021-05-20
本文实例讲述了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 * 100 / 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(0,100); fm.Show(this);//设置父窗体 for (int i = 0; i < 100; i++) { fm.setPos(i);//设置进度条位置 Thread.Sleep(100);//睡眠时间为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中相应的修改为:
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《C#窗体操作技巧汇总》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
主要属性:效果图:ml:百分比是30,并在进度条右侧显示百分比百分比是40,进度条线的宽度12px百分比是60,进度条颜色:pink百分比是80,进度条从左往右
最近需要一个HTML可以联动的百分比进度条,网上找了一下没有,自己手动实现了一个。需要解决的问题,AB两个进度条需要按照百分比A+B=100%,A进度条可以拖动
C语言实现一个如下的变色进度条,供大家参考,具体内容如下要求1、依次多打印一个'#'2、并后面标注百分比3、还可以进行变色实现进度条(未变色)strip.c#i
近期项目中遇到一个有点意思的效果,在一定范围内根据进度条的进度来显示图片的数量,效果图如下:实现思路是根据进度条拖动的距离来算百分比,然后根据百分比来改变每个图
本文实例讲述了C#实现百分比转小数的方法。分享给大家供大家参考。具体分析如下:近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或不带百分号)。如果是