以前、次のようなマルチスレッド手法のコードを見たことがあります。
Private Delegate Sub TextBoxUpdateUI(ByVal txt As String)
Private t As Threading.Thread = New Threading.Thread(Sub() _
If tb2.InvokeRequired Then
Dim tb_delegate As New TextBoxUpdateUI(AddressOf "This Sub")
tb2.Invoke(tb_delegate, Text)
Else
tb2.Text = tb1.Text
End If _
)
問題は、 Thread 引数内にいくつかの命令を記述できることです。私が見た例はよく覚えていませんが、よく覚えていれば、Lambda
使用しようとしたようなものを使用していました。
しかし、上記のコードは機能しません。再現したかっただけですが、見た例を失ったので、正確な書き方がわかりません。
誰かがラムダを修正できますか?
また、AdressOf
オペレーターのデリゲート行で、それを参照するように修正するにはどうすればよいですか?