c#做的一个简单的包含实时进度的进度条

主窗口与进度条窗口
c#做的一个简单的包含实时进度的进度条_第1张图片 c#做的一个简单的包含实时进度的进度条_第2张图片

为了便于编程,要将进度条和下方的文本框的Modifiers属性设为Public,这样就能在主窗口中调用该窗口了。
c#做的一个简单的包含实时进度的进度条_第3张图片
在主窗体文件中添加如下代码
public delegate void updateprogressbar(string text);//进度条委托
process myprocess = new process(); //实例化process界面
private void Calldelegate(string text)//委托回调,更新进度条信息,每调用一次,进度条进度加1,同时更新实时状态
{
    this.BeginInvoke(new updateprogressbar(myprocess.increaceprogress), new object[] { text});
}
public void fun()//需要更新进度的函数
{
    for(int i; i < 100; i++) //不断更新进度 Calldelegate("正在XXXX");//报告进度
    }
private void button1_Click(object sender, EventArgs e)//按下确定按钮,初始化一下进度条窗体并显示
{
    myprocess.prcBar.Value = 0;//调整进度条参数
    myprocess.prcBar.Maximum = XXXXXXXX;//进度条的最大值
    myprocess.prcBar.Minimum = 0;
    myprocess.ShowDialog();
}


 
   
在进度窗体文件中添加如下代码:
public void increaceprogress(string textprogress)
        {
            prcBar.Value++;//增加进度条进度
            textBox1.AppendText("\r\n" + textprogress);//给文本框添加此时运行进度
            textBox1.ScrollToCaret();//使文本框自动滚到最新添加项
        }



你可能感兴趣的:(c#)