WinForm 项目, 处理大量数据时, 如何防止窗体无响应 情况是这样的, 在点击过窗体中的一个按钮后, 程序开始处理数据, 这时用鼠标点击窗体便会出现无响应, 将鼠标指针设置为忙也无济于事, 请问该怎么办, 才行啊? 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是循环的话,在循环中加入system.windows.forms.application.doevents();要不,用多线程做吧。 看这里文章,楼主就能解决问题,通过多线程为基于 .NET 的应用程序实现响应迅速的用户http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misMultithreading.mspx为Windows应用创建简单的异步调用模式http://www.microsoft.com/china/MSDN/library/architecture/AsynCallPattern.mspx delegate void xxxxDataDelegate();private void btnProcess_Click(object sender, EventArgs e){ xxxxDataDelegate dl = new xxxxDataDelegate (你处理数据的方法); IAsyncResult asyncResult = dl.BeginInvoke(null, null); while (true) { if (asyncResult.IsCompleted) { break; } Application.DoEvents(); Thread.Sleep(0); } dl.EndInvoke(asyncResult);} 开个线程吧。_responseThread = new Thread(new ThreadStart(sponse)); // 线程_responseThread.IsBackground = true; // 后台运行_responseThread.Start(); // 线程启动void sponse(){ //执行的方法}利用代理异步操作也行。 IE中如何在WinForm组件和javascript之间通讯 c#泛型集合问题? 关于中文 itextsharp c# web编程求助 有没有那里可以搜索转义序列和Unicode值的? 数据库中存放的是图片的路径,怎么把这些图片绑定到gridview控件中并显示!求完整示例代码(前台和后台). 鼠标移动时如何在屏幕上画线??? 关于DataGrid添加子控件和报表的问题? c#写一个实时监控的程序。 怎么把xml中的数据付到treeview控件中? 关于接口实现的问题? 专家门,求CRM的系统文档或者源码或者开发步骤
system.windows.forms.application.doevents();
要不,用多线程做吧。
通过多线程为基于 .NET 的应用程序实现响应迅速的用户
http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misMultithreading.mspx
为Windows应用创建简单的异步调用模式
http://www.microsoft.com/china/MSDN/library/architecture/AsynCallPattern.mspx
private void btnProcess_Click(object sender, EventArgs e)
{
xxxxDataDelegate dl = new xxxxDataDelegate (你处理数据的方法);
IAsyncResult asyncResult = dl.BeginInvoke(null, null);
while (true)
{
if (asyncResult.IsCompleted)
{
break;
} Application.DoEvents();
Thread.Sleep(0);
} dl.EndInvoke(asyncResult);
}
_responseThread = new Thread(new ThreadStart(sponse)); // 线程
_responseThread.IsBackground = true; // 后台运行
_responseThread.Start(); // 线程启动void sponse()
{
//执行的方法
}利用代理异步操作也行。