This topic has been archived. It cannot be replied.
-
工作学习 / IT技术讨论 / 我用c#写的windows form在进行数据处理的时候就没法响应事件,如何在这个过程中让form一直响应各个控件的event?
-zhihaoxx(少灌水★多挣钱);
2003-6-6
(#1227234@0)
-
这个这个,问题太不详细了吧?
-win(秋天的菠菜);
2003-6-6
(#1227235@0)
-
.偶写的响应得很,你能不能说详细点?
-henhen(哼哼,找工ing...);
2003-6-6
{34}
(#1227239@0)
-
你的贴子,老是一个点,有头轻脚重的感觉. 鼠标杀手呀........
-win(秋天的菠菜);
2003-6-6
(#1227274@0)
-
我猜是留了个记号
-jacky2001(beyond);
2003-6-6
(#1227605@0)
-
multi-threads, 给别的Threads多一些时间是不是可以呢?
-decentboy(ROLIA第39);
2003-6-6
(#1227241@0)
-
Create a low priority working thread for processing the data at the background.
-andrew_parah(andrew_toronto);
2003-6-6
(#1227258@0)
-
事情是这样地:我写了一个windows form小程序,从两个data source - text file 和 Excel 取数据,进行一系列很复杂的运算,然后更新sql database的数据。user在form上面做打开文件等操作,然后run...run的时候,要在status bar上显示当前处理的文件和记录数目,并有一个Cancel按钮可以终止操作。但在数据处理过程中,Cancel button没有反应,直到过程结束才活过来。我记得VB好像有个doEvent的东西,用C#应该怎么做?
-zhihaoxx(少灌水★多挣钱);
2003-6-6
{372}
(#1227338@0)
-
用多线程。
-guestagain(guest again);
2003-6-6
(#1227402@0)
-
你还是可以用 Application.DoEvents 来做。也可以做异步调用...
-xmlhttprequest(DataSet lover...);
2003-6-6
(#1227603@0)
-
支持多线程的方案按CANCEL键的作用只是发一个消息到消息队列中,而当前处理UI的线程忙,所以没有作用。现在的情况是只有等线程完成所有计算任务时才能处理消息队列剩下的消息,包括那个CANCEL消息。这种IMPLEMENTATION不能实现你要的功能。用多线程可以解决这个问题,需要计算时启用一个工作线程。如果界面的控件接口支持multi-platform,可以由工作线程直接操作控件的UPDATE,否则必须发消息回主线程,由主线程UPDATE界面。
-andrew_parah(andrew_toronto);
2003-6-6
{378}
(#1227765@0)
-
只需要在你计算过程中多加几个DO EVENTS操作。比如在每次循环或者运行一个段落的时候。
-merymaid(merymaid);
2003-6-6
(#1227871@0)
-
谢谢各位,又要去刨C#得多线程了:(
-zhihaoxx(少灌水★多挣钱);
2003-6-6
(#1227906@0)
-
看个1-2个小时文档,再自己试一试,就好了。尤其是你这种应用,相对简单一些的,只要用到最基本的。
-guestagain(guest again);
2003-6-6
(#1227924@0)