重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
首先要添加兩個窗體,假設第一個窗體名為Form1,第二個窗體名為Form2。在Form1窗體中添加個按鈕Command1。按鈕單擊事件的代碼為:
創新互聯是一家集網站建設,雙鴨山企業網站建設,雙鴨山品牌網站建設,網站定制,雙鴨山網站建設報價,網絡營銷,網絡優化,雙鴨山網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
Private Sub Command1_Click()
Form2.Show '用show方法加載并且顯示名為Form2的窗體
End Sub
show 方法后面省略了兩個參數即Form2.Show 0或Form2.Show 1此參數可缺省。可自行運行驗證
首先引入那個項目的命名空間,在代碼最上方用Imports語句,比如
Imports Project1
然后在需要用的地方寫
Dim aform As New MyForm1()
然后通過aform對象的Show方法(彈出普通窗口)或ShowDialog(彈出窗口時后方窗口無響應)方法來顯示窗口,最后調用Dispose方法釋放對象內存。
在項目中右鍵點擊添加窗體。在代碼中需要顯示該窗體的地方寫入如下代碼:“form2.show()”form2是你窗體的name屬性……
如果是VB.NET
那么可以直接從一個父窗體類繼承,例如
Dim
NewFrm
as
New
Form1
NewFrm.Show
這樣可以為一個窗體創建N個相同的子類,并且通過類的方法覆蓋,可以與父類有所不同
兩個顯示器顯示有兩種模式,一種是
雙屏
復制,另一種是擴展。
你這個只能用第二種方式。你需要把要在另一個顯示器上顯示的窗體的Location設置在主顯示器全屏時的右邊就可以了.其實就是桌面的向右延伸。
在主顯示上拖一下窗體就明白了!
Imports System.Threading
Public Class Form1
Dim t1, t2 As Thread
Dim tt1
Private Delegate Sub voiddelegate(ByVal i As Integer)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Form2.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
t1 = New Thread(AddressOf test)
tt1 = 1
t1.Start()
tt1 = 2
t2 = New Thread(AddressOf test)
t2.Start()
' Timer1.Start()
End Sub
Private Sub updateui(ByVal i As Integer)
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
'把循環放到線程中運行會好一些,其實主要事務是對窗體控件的操作時多線程意義不大,因為訪問窗體的代碼依然要在窗體線程中運行。
Private Sub test()
Dim d As voiddelegate = AddressOf updateui
For i = 0 To 9000
Me.Invoke(d, i)
Next
End Sub
'如果放在計時器中運行效果好的多
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Integer = 0
i += 1
If i 9000 Then Timer1.Stop() : i = 0
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
End Class
'如果在另一線程中用Application.run 打開窗體確實能行,不過窗體間相互操作不起作用,這個尚待研究中。