私はこれが何百万回も尋ねられたことを知っています.4〜5の異なる解決策を試しましたが、どれも結果をもたらさないようです.
「QoE」というタイトルのメイン フォームがあり、「Utils」と「Tests」というタイトルの 2 つのクラスがあります。
テストは、Utils.ProgressBar() を使用して Utils からパブリック共有サブを呼び出します
Utils.ProgressBar() は、QoE というタイトルのメイン フォームからプログレス バー コントロールを更新します。
ProgressBar 修飾子オプションは Public に設定されていますが、Utils から直接コントロールにアクセスすることはできません (以前はできると思っていました)。オプション 2 は、Utils クラスでこれを使用しようとすることでした。
Dim f1 as New QoE()
f1.ProgressBarMain.Increment(+1)
f1.ProgressPercent.Text = f1.ProgressBarMain.Value.ToString() & "%"
しかし、それは何も生み出しません。
オプション 3-5 は、パブリック静的クラスであるモジュールを作成し、メイン フォーム自体にパブリック共有更新サブを配置しようとしていました。これらのオプションを使用すると、通常、「共有メソッド内からクラスのインスタンスメンバーを参照できません」というエラーが発生します。
それで、私は何が欠けていますか?助けていただければ幸いです。みんなありがとう。
編集
あなたは本当にここで髪を分割しているだけです。これはコードがなくても完全に有効な質問ですが、コードは次のとおりです。
Public Class QoE
End Class
Public Class Utils
public shared sub ProgressBar
Dim f1 as New QoE()
f1.ProgressBarMain.Increment(+1)
f1.ProgressPercent.Text = f1.ProgressBarMain.Value.ToString() & "%"
'QoE.ProgressBarMain.Increment(+1) Returns The error mentioned in the comments
end sub
End Class
Public Class Tests
public shared sub DoWork
Utils.Progressbar()
End Sub
では、すべてがパブリックに設定されている場合、QoE フォームからコントロールにアクセスできないのはなぜですか? クラス終了