Private Sub form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim timer1 As New Timer
timer1.Enabled = True
timer1.Start()
timer1.Interval = 300
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Hide()
Form2.Show()
End Sub
我的這串代碼,沒反應
uj5u.com熱心網友回復:
你的這個代碼問題太多了。1.timer1 是區域變數
2.Timer1_Tick 也少了Handles陳述句
改了一下,拿去玩:
Public Class Form1
Dim WithEvents timer1 As New Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
timer1.Interval = 3000
timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles timer1.Tick
If Me.Visible Then
Me.Hide()
Form2.Show()
Else
Form2.Hide()
Me.Show()
End If
End Sub
End Class
uj5u.com熱心網友回復:
不如一個表單,兩個panel,通過設定visible來回切換uj5u.com熱心網友回復:
調整表單form2的方法與vb6不同,要先建立一個實體,再showdim frmNew as new form2
frmNew.show
還有一些問題:
timer1.Enabled = True
timer1.Start()
timer1.Interval = 300
這里的前后要修改一下
timer1.Interval = 300
timer1.Enabled = True
另外, timer1.Start()不必使用。
uj5u.com熱心網友回復:
2樓的回答正確
uj5u.com熱心網友回復:

兩個表單切換?
代碼中只切換了一個表單呀
uj5u.com熱心網友回復:
感謝大佬


uj5u.com熱心網友回復:
好的、我研究一下
uj5u.com熱心網友回復:
這幾年,不需要使用定時器等等機制,應該直接使用 Task 框架機制編程。Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Public Async Sub 過一會兒切換(f As System.Windows.Forms.Form, seconds As Integer)
Await Task.Delay(TimeSpan.FromSeconds(seconds))
f.Show()
f.Activate()
End Sub
End Class
uj5u.com熱心網友回復:
另外,所謂“切換”要有一個合理的流程來處理現實需求,要考慮到切換的完整的“結束”動作。例如Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Public Async Function 過一會兒切換(f As System.Windows.Forms.Form, seconds As Integer) As Task
Await Task.Delay(TimeSpan.FromSeconds(seconds))
f.Show()
f.Activate()
End Function
Private Async Sub btnTest_Click(sender As Object, e As EventArgs) Handles btnTest.Click
MsgBox("按確認之后,過3秒鐘將打開Form2")
Dim f As New Form2
AddHandler f.FormClosed, Sub()
Me.Close()
End Sub
Await 過一會兒切換(f, 3)
Me.Hide()
End Sub
End Class
uj5u.com熱心網友回復:
這些年的 .net 已經大量支持異步編程設計,所以現在也就沒有什么理由去改變,而是要充分使用這種框架來淘汰許多早先非常繁瑣的設計了。例如上面的例子,當點擊模態對話框的“確認”按鈕之后,3秒鐘發呆的時候,主執行緒(UI執行緒)絲毫沒有被卡死,可以用滑鼠隨便拖動來測驗。這并不用在Form1去使用什么定時器,使用 Task 編程框架機制可以在任意地方、任意頻繁地進行異步多執行緒編程,(其它)編程技術運用范圍非常廣泛。可以說 Task 是一個技術分水嶺、里程碑式的知識。
uj5u.com熱心網友回復:
大佬出現個問題,表單1,表單2,1切到2正常,在2里面寫了改變一下同樣的代碼,切不回1啊
uj5u.com熱心網友回復:
感謝大佬指點,我一年前因為作業,自學了vb6,然后大半年沒整過了,現在作業上有個idea需要編程展示,我就等于我的基礎本身是建立在沙堆上,經過大半年,我都忘記的差不多了額,這兩天買了點vb.net的基礎教程,準備下功夫把基礎打好
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/14566.html
標籤:VB.NET
上一篇:如何 通過 ZedGraph 繪制 起點位置(X軸)不同的 兩條曲線?
下一篇:dicom求助
