主题:按了button开始执行后,窗口无法移动
austere
[专家分:0] 发布于 2005-07-26 21:51:00
我的程序会执行很久,
按了button开始执行后
窗口便无法移动
如果缩小或有别的窗口盖到它上面
就看不到它了
有没有什么方法
不要被程序给固定住了
不能移动,也不能缩小,放大,很不舒服
回复列表 (共5个回复)
沙发
jzyray [专家分:20610] 发布于 2005-07-26 22:02:00
执行繁重操作的时候要用多线程,新建一个线程运行button所要执行的工作。
板凳
austere [专家分:0] 发布于 2005-07-27 11:33:00
我已经开了两个线程
一个用来Form1->Repaint();
一个用来执行Button1的程序
结果窗口还是不能动
是不是线程用了Synchronize()这个功能后
在Form1上被Button1参考到的资源,如RadionButton, Memo,…
也都被锁定
所以没法动了
用Timer每秒去Form1->Repaint();
也是无效
Button1一按就定住了
真的无解吗?
3 楼
jzyray [专家分:20610] 发布于 2005-07-27 12:40:00
如果你把form线程给锁住了,那么由form创建的控件相当于被锁住了,所以,新建的线程被锁死。
4 楼
oisyy [专家分:0] 发布于 2005-08-02 01:01:00
请问楼主,你的问题解决了么?
我有同样的问题,想知道怎么解决.
5 楼
mana [专家分:20] 发布于 2005-08-18 19:56:00
把这句加到你的程序中试试(Application->ProcessMessages();)
我来回复