在做winform窗体项目时,通常会遇到耗时操作。为了让用户在等待期间,不能做其他操作,且提供一个友好的等待界面,我们通常使用一个弹出框来显示加载进度。
首先我们可以新建一个自定义控件,添加标题Label和ProgressBar控件。其中ProgressBar的Style属性设置为:Marquee,因为这里只是显示一个加载过程,并不需要显示具体加载进度。
主要代码如下:
public partial class LoadingForm : Form
{
/**
* 加载框超时时间,时间到了,自动关闭窗体
*/
public int Timeout = 10;
private int count = 0;
public int resultStatus = -1;
//泛型委托
public Func<object, int> Worker { get; set; }
private object Args;
public string Msg
{
get { return this.lbTitle.Text; }
set { this.lbTitle.Text = value; }
}
public LoadingForm(Func<object, int> worker, object Args)