私が扱っているものの簡単な例を示すことから始めます
私はWindowsフォームを持っています-それを「formA」と呼びましょう.formAには、ボタンのプロパティでvisible = falseを設定するボタンがあります。MainLoop という別のクラスがあります
Public class MainLoop
sub new()
end sub
public sub run()
If someCondition then
formA.ButtonName.Visible = True
End if
end sub
end class
このアプリケーションで複数のスレッドを実行していますが、特定の条件が満たされるまで、1 つのスレッドがこの「パブリック サブ実行」をループして実行し続けます。アプリケーションをデバッグしてステップ実行することで、visiblity = true を設定する行が実行されていることを確認できます。しかし、ボタンがフォームに表示されません。単純なスペルミスなどではないことを確認しました-ここで基本的なロジックが欠けているようです.
私はやってみました
dim TempForm as new formA
次に、私が試したIFステートメントで
TempForm.ButtonName.Visible = true
しかし、それはフォームの新しいインスタンスを作成しています。実際には、私が使用している現在のフォームをボタンに設定していません。
どんな助けでも大歓迎です。