不知楼主是如何“调度”你的一大堆窗口进行协同工作的。按理说,如果你的每个窗口都是独立工作的,直接加到一起也不应该有问题(当然系统处理能力达不到,又是另外一回事了)。把工程设置成从 Sub Main 启动,添加一个标准模块,并输入下面的代码: Sub Main() Form1.Show Form2.Show Form3.Show Form4.Show Form5.Show ' ......... ' 把所有的窗体列出…… End Sub
全部弄到一个Form下 定义不同的类模组. 用的时候New 一个类实体直接调用.
不会吧?测试以下代码。'form1添加label1-label3 'form1 code Private Sub Form_Load() Form2.Hide Form3.Hide Form4.Hide
End SubPrivate Sub Form_Unload(Cancel As Integer) End End Sub'form2 code Private Sub Form_Load() Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer() Form1.Label1 = Rnd * 50 End Sub'form3 code Private Sub Form_Load() Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer() Form1.Label2 = Rnd * 50 End Sub'form4 code Private Sub Form_Load() Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer() Form1.Label3 = Rnd * 50 End Sub
VB的程序是单线程的。
Timer是对SetTimer()和WM_TIMER的封装,并不能保证准时。
总工程、其余工程,在VB里面没有这样的概念。你是作为ActiveX EXE/DLL加载的么?检查你程序的依赖性。
可能我表达的不太明白,意思是说,如果我把FORM设置成单一的工程里面(即指工程只有一个FORM时),程序运行没有任何问题,然而我把那FORM与其他FORM(都是某些网页的外挂,只是用一个工程来同时运行,不想做太多工程而已)和起来之后,却只有先加载的两个FORM可以运行,其他FORM都停顿了,是什么原因啊?而且不做任何ACTIVEX或者DLL加载,只是用了WEBBROWSER和TIMER来做成工程
Sub Main()
Form1.Show
Form2.Show
Form3.Show
Form4.Show
Form5.Show
' .........
' 把所有的窗体列出……
End Sub
定义不同的类模组.
用的时候New 一个类实体直接调用.
'form1 code
Private Sub Form_Load()
Form2.Hide
Form3.Hide
Form4.Hide
End SubPrivate Sub Form_Unload(Cancel As Integer)
End
End Sub'form2 code
Private Sub Form_Load()
Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer()
Form1.Label1 = Rnd * 50
End Sub'form3 code
Private Sub Form_Load()
Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer()
Form1.Label2 = Rnd * 50
End Sub'form4 code
Private Sub Form_Load()
Timer1.Interval = 500
End SubPrivate Sub Timer1_Timer()
Form1.Label3 = Rnd * 50
End Sub