主题:按了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();)
							 
									
			
我来回复