当前位置:编程学习 > C#/ASP.NET >>

单线程UI卡住,改为多线程

C# 我有很多窗口,每个窗口有很多控件。我想把窗口中按钮执行的代码用新的线程来执行,如何做最方便呢? --------------------编程问答-------------------- thread啊,~主要如何处理各个线程的返回结果~ --------------------编程问答-------------------- 一个thread足以,或者AsyncCallback --------------------编程问答-------------------- 用异步也可以,
要么你用button.invoke();;;;;
不过用的时候要判断一下,每个控件都有这个方法 --------------------编程问答-------------------- 要么是button.begininvoke();;;;;
button.endinvoke();;;;; --------------------编程问答-------------------- thread的话,每一个控件都要声明一个变量去保存他的值,那样很麻烦的。 --------------------编程问答-------------------- thread如果不改变控件的话,不会太复杂,你可以让thread把处理的结果放在变量中,然后自己写一个UpdateUI的方法,一次性根据thread的结果更改所有界面,

这样你只需要用一个Invoke去调用UpdateUI,
--------------------编程问答-------------------- 如果 thread 能直接访问UI就好了,我想问的就是不用去声明那么多变量,否则工作量很大。 --------------------编程问答-------------------- 最简单的 在构造函数里加一行

Control.CheckForIllegalCrossThreadCalls = false;
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,