台灣最大程式設計社群網站
線上人數
1153
 
會員總數:245001
討論主題:188957
歡迎您免費加入會員
討論區列表 >> VB.NET >> 多執行緒中 相對簡單的UI界面更新方式 (Lambda運算式)
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
多執行緒中 相對簡單的UI界面更新方式 (Lambda運算式)
價值 : 0 QP  點閱數:199 回應數:4

樓主

小廖
門外漢
0 1
22 0
發送站內信


Imports System.Threading

Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim t1 As New Thread(AddressOf exa)
t1.Start()
Dim t2 As New Thread(AddressOf exf)
t2.Start()
Application.DoEvents()
End Sub
Public Sub exf()
For i = 0 To 1000
For j = 0 To 1000
Me.Invoke(New Action(Of Integer, System.Windows.Forms.TextBox)(AddressOf exb), i, TextBox4)
Me.Invoke(New Action(Of Integer, System.Windows.Forms.TextBox)(AddressOf exc), j, TextBox5)
Me.Invoke(New Action(Of Integer, Integer, System.Windows.Forms.TextBox)(AddressOf exd), i, j, TextBox6)
Next
Next
End Sub
Public Sub exa()

For i = 0 To 1000
For j = 0 To 1000
Me.Invoke(New Action(Of Integer, System.Windows.Forms.TextBox)(AddressOf exb), i, TextBox1)
Me.Invoke(New Action(Of Integer, System.Windows.Forms.TextBox)(AddressOf exc), j, TextBox2)
Me.Invoke(New Action(Of Integer, Integer, System.Windows.Forms.TextBox)(AddressOf exd), i, j, TextBox3)
Next
Next
End Sub
Public Sub exb(ByVal a As Integer, ByVal obj As System.Windows.Forms.TextBox)
obj.Text = a
Application.DoEvents()
End Sub
Public Sub exc(ByVal a As Integer, ByVal obj As System.Windows.Forms.TextBox)
obj.Text = a
Application.DoEvents()
End Sub

Public Sub exd(ByVal a As Integer, ByVal b As Integer, ByVal obj As System.Windows.Forms.TextBox)
obj.Text = a * b
Application.DoEvents()
End Sub
End Class



搜尋相關Tags的文章: [ 多執行緒 ] , [ UI界面更新 ] , [ Lambda運算式 ] ,
本篇文章發表於2019-08-02 09:39
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

HB
檢舉此回應
發現關閉視窗時會出現錯誤:視窗控制代碼建立後才能呼叫控制項上的 Invoke 或 BeginInvoke。
請問:除用Catch排除外,還有何更好的方式?
本篇文章回覆於2019-08-08 08:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

誰是誰
檢舉此回應
哪來的 Lambda?在 VB 以下 Exec 方法內的寫法才叫 Lambda

本篇文章回覆於2019-08-16 02:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

誰是誰
檢舉此回應
回 HB : 在主畫面收到關閉訊號,而未完全關閉前 (通常靠 Form.FormClosing 事件),等待 Thread 執行完成。
本篇文章回覆於2019-08-16 02:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

HB
檢舉此回應
感謝3F誰是誰說明。

不知能否強制關閉Thead執行,若可以,語法該如何下?謝謝!
本篇文章回覆於2019-08-16 07:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.