C# WinForm程序假死问题
当一个方法做大量操作时,程序就会假死,比如往一个LISTVIEW里循环添加东西。东西一多就会假死。碰到这情况一般怎么处理才能让程序不出现假死的情况?...
当一个方法做大量操作时,程序就会假死,比如往一个LISTVIEW里循环添加东西。东西一多就会假死。
碰到这情况一般怎么处理才能让程序不出现假死的情况? 展开
碰到这情况一般怎么处理才能让程序不出现假死的情况? 展开
2013-09-15
展开全部
单线程都是这样的。
如果采用多线程就可以避免这样情况发生,重新其一个新线程。
像这种情况一般用 BackgroundWorker1 就可以了。 添加DoWork函数
private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker backgroundWorker = sender as BackgroundWorker;
Execute(backgroundWorker, e);
}
线程启动用
if (!backgroundWorker1.IsBusy)
backgroundWorker1.RunWorkerAsync();
那么增加东西的时候就可以对窗体进行操作。
如果采用多线程就可以避免这样情况发生,重新其一个新线程。
像这种情况一般用 BackgroundWorker1 就可以了。 添加DoWork函数
private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker backgroundWorker = sender as BackgroundWorker;
Execute(backgroundWorker, e);
}
线程启动用
if (!backgroundWorker1.IsBusy)
backgroundWorker1.RunWorkerAsync();
那么增加东西的时候就可以对窗体进行操作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询