VB中多个窗体间的切换显示
有A、B、C、D...多个窗体,能否使用timer控件使得这多个窗体之间轮回切换显示。前提是不用command等的别的控件,即不用人为操作的切换...
有A、B、C、D...多个窗体,能否使用timer控件使得这多个窗体之间轮回切换显示。前提是不用command等的别的控件,即不用人为操作的切换
展开
展开全部
方法如下:
每个form上都放一个timer,设置其interval属性=2000
加入有3个form
在第一个form1的代码框中写如下代码:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form1.Hide
Form2.Show
Timer1.Enabled = False
End Sub
第二个form2如下:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form2.Hide
Form3.Show
Timer1.Enabled = False
End Sub
第3个form3,如下:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form3.Hide
Form1.Show
Timer1.Enabled = False
End Sub
若需要更多窗体,请参照上面的例子进行修改!
每个form上都放一个timer,设置其interval属性=2000
加入有3个form
在第一个form1的代码框中写如下代码:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form1.Hide
Form2.Show
Timer1.Enabled = False
End Sub
第二个form2如下:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form2.Hide
Form3.Show
Timer1.Enabled = False
End Sub
第3个form3,如下:
Option Explicit
Private Sub Form_Activate()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Form3.Hide
Form1.Show
Timer1.Enabled = False
End Sub
若需要更多窗体,请参照上面的例子进行修改!
展开全部
把timer的轮回属性设为10000
load 加载
hide 隐藏
unlode 卸载
load 加载
hide 隐藏
unlode 卸载
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'下面代码非常简洁,可以满足你的要求。
Option Explicit
Dim Frm() As Form, FrmId As Integer
Private Sub Form_Load()
'本例假设有2个窗体。如果有多个窗体,请在此修改即可。
ReDim Frm(1)
Set Frm(0) = Form1
Set Frm(1) = Form2
End Sub
Private Sub Timer1_Timer()
'通用代码,不要更改。
Dim i As Integer
For i = 0 To UBound(Frm)
If i = FrmId Then
Frm(i).Show
Else
Frm(i).Hide
End If
Next
FrmId = FrmId + 1
FrmId = IIf(FrmId > UBound(Frm), 0, FrmId)
End Sub
Option Explicit
Dim Frm() As Form, FrmId As Integer
Private Sub Form_Load()
'本例假设有2个窗体。如果有多个窗体,请在此修改即可。
ReDim Frm(1)
Set Frm(0) = Form1
Set Frm(1) = Form2
End Sub
Private Sub Timer1_Timer()
'通用代码,不要更改。
Dim i As Integer
For i = 0 To UBound(Frm)
If i = FrmId Then
Frm(i).Show
Else
Frm(i).Hide
End If
Next
FrmId = FrmId + 1
FrmId = IIf(FrmId > UBound(Frm), 0, FrmId)
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询