2024年3月23日发(作者:)
c# 进度条的使用(例子)
在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候
我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。
下面我就简单结合一个我写的例子给大家做一个介绍。
首先看一下程序界面
附加源码:
using System;
using c;
using entModel;
using ;
using g;
using ;
using ;
using ing;//引入一个多线程空间
namespace ProgressBar
{
public partial class Form1 : Form
{
//更新进度列表
private delegate void SetPos(int ipos);
public Form1()
{
InitializeComponent();
}
Thread thr;
//进度条值更新函数(参数必须跟声明的代理参数一样)
private void SetTextMessage(int ipos)
{
if (Required)
{
SetPos setpos = new SetPos(SetTextMessage);
(setpos, new object[] { ipos });
}
else
{
= ng() + "/100";
= 32(ipos);
}
}
//函数实现
private void button1_Click(object sender, EventArgs e)
{
thr=new Thread(new ThreadStart(SleepT));//开辟一个新的线程
();
}
//新的线程执行函数
private void SleepT()
{
for (int i = 0; i < 500; i++)
{
(100);//没什么意思,单纯的执行延时
SetTextMessage(100 * i / 500);
}
}
private void button2_Click(object sender, EventArgs e)
{
();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
();
();
}


发布评论