求进程提示的解决方案

secondonsite 2009-12-17 09:45:08
WinForm,有一Run的过程时间比较长。目前我能想到的两种提示方法:
1. 用ProgressBar。但是我Run的是SQL Server 的一个存储过程,每次根据不同条件Run的时间不一样,无法得到最终量和过程量。似乎不太可行。
2. 用一个类似MessageBox提示用户等待。但是我将提示语句放在Run的前面,运行起来竟然不出来,Run完了它倒显示了。
做过的朋友你们是怎么解决的?谢谢!
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
secondonsite 2009-12-19
  • 打赏
  • 举报
回复
老大,这么晚了还回复我,太感谢了。线程的方式我先学习一下,您的提示足矣了,结贴。
fengling2001 2009-12-18
  • 打赏
  • 举报
回复
最好使用异步方式
zhujiazhi 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 secondonsite 的回复:]
像SqlCommand cmd = new SqlCommand();访问数据库的语句我都包在一个类里了。 难道专门开一个数据后门。
[/Quote]

那就用线程的...
Thread thread =new Thread(new ThreadStart(Method));
thread.Start();

secondonsite 2009-12-18
  • 打赏
  • 举报
回复
像SqlCommand cmd = new SqlCommand();访问数据库的语句我都包在一个类里了。 难道专门开一个数据后门。
happyrain2010 2009-12-18
  • 打赏
  • 举报
回复
或者 使用一个等待图片
zhujiazhi 2009-12-18
  • 打赏
  • 举报
回复
SqlCommand提供了几种异步方法
SqlCommand cmd = new SqlCommand();
//初始化cmd
IAsyncResult result = cmd.BeginExecuteNonQuery();
//显示等待窗口,貌似得自己写一个了
WaitingForm frm = new WaitingForm();
frm.Show();
while(!result.IsCompleted)
{
}
frm.Close();
secondonsite 2009-12-18
  • 打赏
  • 举报
回复
怎么个异步方式?详细说说?
secondonsite 2009-12-17
  • 打赏
  • 举报
回复
看来得等明天上班了。

111,120

社区成员

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

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

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