本文转载:http://www.cnblogs.com/VincentLuo/archive/2011/12/24/2298916.html
一、Dev的等待提示框
用过Devexpress的用户都知道,Dev自带了默认的等待进度提示框,效果如下:
简单使用代码:
WaitDialogForm sdf = new WaitDialogForm("提示", "正在登录......"); for (int j = 1; j < i; j++) { Thread.Sleep(3000); sdf.SetCaption("执行进度(" + j.ToString() + "/" + i.ToString() + ")"); } sdf.Close();
在中间我加入了3秒等待时间,否则,提示框闪的太快。
这里在创建对象的时候,带入了两个参数,当然还有其他更多的参数,可以对字体进行设置,等待图片进行设置等。
二、我改过的另外版的等待提示框
先出具下效果看看:
我把dev的等待图片改成了progressbarcontrol,这样更能看到进度的进展。我将窗体更名为:ShowDialogForm。
为了能看到效果,我加了一个循环来显示执行进度,并用进度条来友好提示,如果是遇到大量的数据库,就不需要此循环了
简单使用代码:
int i = 1999; ShowDialogForm sdf = new ShowDialogForm("提示", "正在登录......","请耐心等候,正在验证您的身份!",i); for (int j = 1; j < i; j++) { sdf.SetCaption("执行进度(" + j.ToString() + "/" + i.ToString() + ")"); } login(); sdf.Close();
ShowDialogForm等待窗体的主要代码:
/// <summary> /// 设置 /// </summary> /// <param name="_caption">提示</param> /// <param name="_message">消息内容</param> /// <param name="_content">详细描述</param> /// <param name="_maxProcess">进度条最大值</param> public ShowDialogForm(string _caption, string _message,string _content,int _maxProcess) : this() { this.Caption = ""; this.Message = ""; this.Content = ""; this.Caption = _caption == "" ? "提示" : _caption; this.Message = _message == "" ? "正在加载,请稍后......" : _message; this.Content = _content; this.maxProcess = _maxProcess > this.MinProcess ? _maxProcess : MinProcess; lblCaption.Text = this.Caption; lblMessage.Text = this.Message; lblContent.Text = this.Content; progressShow.Properties.Minimum = MinProcess; progressShow.Properties.Maximum = MaxProcess; progressShow.Properties.Step = 1; progressShow.PerformStep(); this.ShowInTaskbar = false; this.TopMost = true; this.Show(); this.Refresh(); }
最好附上整个ShowDialogForm等待窗体文件
点击下载