回 帖 发 新 帖 刷新版面

主题:按了button开始执行后,窗口无法移动

我的程序会执行很久,
按了button开始执行后
窗口便无法移动
如果缩小或有别的窗口盖到它上面
就看不到它了

有没有什么方法
不要被程序给固定住了
不能移动,也不能缩小,放大,很不舒服

回复列表 (共5个回复)

沙发

执行繁重操作的时候要用多线程,新建一个线程运行button所要执行的工作。

板凳

我已经开了两个线程
一个用来Form1->Repaint();
一个用来执行Button1的程序
结果窗口还是不能动

是不是线程用了Synchronize()这个功能后
在Form1上被Button1参考到的资源,如RadionButton, Memo,…
也都被锁定
所以没法动了

用Timer每秒去Form1->Repaint();
也是无效
Button1一按就定住了

真的无解吗?

3 楼

如果你把form线程给锁住了,那么由form创建的控件相当于被锁住了,所以,新建的线程被锁死。

4 楼

请问楼主,你的问题解决了么?
我有同样的问题,想知道怎么解决.

5 楼

把这句加到你的程序中试试(Application->ProcessMessages();)

我来回复

您尚未登录,请登录后再回复。点此登录或注册