
我正在做的一些简化示例代码.
private voID doThings_Click(object sender,EventArgs e){ myToolinstance.doWorkThatNeedsToReportProgress();} 该工具正在完成的工作是一系列函数调用,通常在30左右.我想在每次完成其中一个时更新进度条.
解决方法 在包含进度条的表单中创建公共属性或公共方法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;} 总结 以上是内存溢出为你收集整理的c# – 如何从其他类更新进度条?全部内容,希望文章能够帮你解决c# – 如何从其他类更新进度条?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)