还是有关进度条的问题~ 我写了个程序用于从数据库中读取数据。想弄个进度来表示进度。看了MSDN和google了一下都没有能找到合适的。我想是不是写这样的进度条要注意:1、需要用到多线程吗?2、需要用到委托吗?谢谢各位大虾,如果你有好的思想来分享一下嘛~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 从数据库中读取数据可能会很长时间,而这时没有办法通过Application.DoEvent()来响应其它操作,所以你要用开始一个异步操作来达到响应其它操作而可以显示一个进度条,参见下面的代码:private delegate object someMethodDelegate(object someArg);//运行时间较长的函数private object someLongtimeMethod(object someArg){ //执行较长的操作 return someArg;}private void button1_Click(object sender, EventArgs e){ //为调用函数而声明委托的实例 someMethodDelegate sd = new someMethodDelegate(this.someLongtimeMethod); //开始调用函数,可以带参数 IAsyncResult ir = sd.BeginInvoke("测试参数", null, null); //显示等待的窗口 Form fWait = new Form(); fWait.StartPosition = FormStartPosition.Manual; fWait.Location = this.button1.Location; fWait.Show(this); //刷新这个等待的窗口 Application.DoEvents(); //循环检测是否完成了异步的操作 while (true) { if (ir.IsCompleted) { //完成了操作则关闭窗口 fWait.Close(); break; } } //取函数的返回值 object retValue = sd.EndInvoke(ir); System.Console.WriteLine(retValue);} C# 小问题 关于c#变量的奇怪问题 同时执行两个线程,一个进程写如数据,另一个进程显示信息! .NET页面设置对话框(PageSetupDialog类)页边距的单位问题 在Win Form 中怎么删除DataGrid中的一行? 类设计器的问题 求救!!!!50分求救splitContainer控件问题 c#怎末会这样? 通过VC编写的dll接口提供的jpg格式视频流,请教c#参数转换及图片存储问题 夏天天气热,想买本书消暑,大家给我个消暑的办法啊!!!!!! 关于C#小程序的... 调用VC写的dll动态链接库问题....青及时帮我看下
private object someLongtimeMethod(object someArg)
{
//执行较长的操作
return someArg;
}private void button1_Click(object sender, EventArgs e)
{
//为调用函数而声明委托的实例
someMethodDelegate sd = new someMethodDelegate(this.someLongtimeMethod);
//开始调用函数,可以带参数
IAsyncResult ir = sd.BeginInvoke("测试参数", null, null);
//显示等待的窗口
Form fWait = new Form();
fWait.StartPosition = FormStartPosition.Manual;
fWait.Location = this.button1.Location;
fWait.Show(this);
//刷新这个等待的窗口
Application.DoEvents();
//循环检测是否完成了异步的操作
while (true)
{
if (ir.IsCompleted)
{
//完成了操作则关闭窗口
fWait.Close();
break;
}
}
//取函数的返回值
object retValue = sd.EndInvoke(ir);
System.Console.WriteLine(retValue);
}