创建一个公共财产或形式包含进度条
public void SetProgress(int progress)
{
progressBar.Progress = progress;
}
现在你可以用
myForm.SetProgress(50);
另一种方法更新进度条的公共方法是有一个ProgressChanged
某处的事件,并让表单订阅此事件。
public class Tool {
public event Action<int> ProgressChanged;
private void OnProgressChanged(int progress)
{
var eh = ProgressChanged;
if (eh != null) {
eh(progress);
}
}
public void DoSomething()
{
...
OnProgressChanged(30);
...
}
}
在表单中你会像这样
private Tool _tool;
public MyForm() // Constructor of your form
{
_tool = new Tool();
_tool.ProgressChanged += Tool_ProgressChanged;
}
private void Tool_ProgressChanged(int progress)
{
progressBar.Progress = progress;
}
你有没有在命令行工具的源代码控制?该工具目前是否以任何方式表明进展?怎么样? –
进度反映在你想要完成的事情上。您需要找到一个反映当前任务的变量,该变量可以被监控并更新到进度栏。这将有助于你编辑你的文章的具体细节。 – Ari
你可以给我们一些你的代码,并指出哪一部分需要进度条吗?另外,你在什么框架中构建你的GUI(WPF,Winforms?)? – EtherDragon