基本的にはこの質問ですが、VB.netの場合です。CheckBox
メインスレッドとは別のスレッドから状態を確認する必要があります。リンクされた質問の解決策には、C# コードが含まれています。オンライン翻訳者は、理解できる結果をもたらしません。
私のコード(重要な部分まで取り除いたもの):
Public Class UI
'UI contains CheckBox1.
End Class
Public Class Worker
Public Sub Input()
Dim thrMyThread As New System.Threading.Thread(AddressOf Run)
thrMyThread.Start()
End Sub
Public Sub Run()
If UI.CheckBox1.Checked = True
MsgBox("True")
ShellandWait("application.exe")
Else
MsgBox("False")
ShellandWait("application.exe")
End If
End Sub
End Class
ShellandWait
プロセスを開始し、終了するまで待機するカスタム関数です。そのためShellandWait
、UI の応答性を維持するために別のスレッドが必要です。
更新の状態を表すワーカー クラスの先頭にブール変数を
定義することで回避策を見つけました。そう:Public
UI.CheckBox
Public Class Worker
Public cB As Boolean = UI.CheckBox.Checked
... 'Rest of Code
Public Sub Run()
If cB = True
MsgBox("True")
ShellandWait("application.exe")
Else
MsgBox("False")
ShellandWait("application.exe")
End If
End Sub
End Class