实现弹出等待提示框

风中飘过一行代码 2014-09-14 11:04:27
情景:界面A有一提交按钮,点击提交按钮,由于提交过程比较长,需要弹出等待窗口B,窗口B需要有进度条,进度条的值来自于界面A提交过程中所处理的个数,要求界面B进度条每隔一段时间需要刷新一下已处理的数值,本人已有个思路,但感觉过于麻烦,想听听有没有比较简单的实现方法,谢谢。
...全文
409 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjp1234airen4385 2014-09-15
  • 打赏
  • 举报
回复
使用委托就好了。 在A里,当每保存一次数据,调用一次委托事件。 在B里,委托时间被触发后,更新一次进度条值。
xian_wwq 2014-09-15
  • 打赏
  • 举报
回复
也可以不使用弹出框,在目前的窗体上加个panel, 在panel上放置进度条控件 然后在需要显示进度的时候,显示panel,进度完成后,将panel藏起来就行。 如果业务处理在单独线程中,则通过委托来更新进度条的进度
ggh_1766838097 2014-09-15
  • 打赏
  • 举报
回复
使用ProgressBar显示进度的百分比 private void timer1_Tick(object sender,EventArgs e) { if(this.progressBar1.Value == this.progressBar1.Maximum)//当进度条的当前值等于最大值时 { this.progressBar1.Value = this.progressBar1.Minimum;//设置进度条的当前值为最小值 } else //当进度条的当前值小于最大值时 { this.progressBar1.PerformStep();//按指定的增量增加进度条中的进度块 } int percentValue = 100 * //将当前进度转化为百分比的形式 (this.progressBar1.Value - this.progressBar1.Minimum) / (this.progressBar1.Maximum - this.progressBar1.Minimum); label1.Text = percentValue.ToString() + "%";//在Label中显示百分比的值 } private void StartOrStop_Click(object sender,EventArgs e) { if(timer1.Enabled)//当Timer处于可用状态时 { timer1.Enabled = false;//设置Timer为不可用状态 StartOrStop.Text = "开始";//设置“开始”按钮上的文本内容为“开始” } else//当Timer处于不可用状态时 { timer1.Enabled = true;//设置Timer为可用状态 StartOrStop.Text = "停止";//设置“停止”按钮上的文本内容为“停止” } }
ZhongGuanYao 2014-09-15
  • 打赏
  • 举报
回复
将提交数据处理的代码放在窗体B,利用BackgroundWorker 后台线程实现 http://blog.csdn.net/server126/article/details/5339022
threenewbee 2014-09-14
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/caozhy/4832657

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧