主窗口与进度条窗口
为了便于编程,要将进度条和下方的文本框的Modifiers属性设为Public,这样就能在主窗口中调用该窗口了。
在主窗体文件中添加如下代码
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();//使文本框自动滚到最新添加项
}