別のクラスから Windows フォームのオブジェクトを制御する最良の方法を探しています。あなたの答えが「これは OOP 言語で行う方法ではありません!」という場合は、回答しないでください。Plsは私が必要なものを世話します:
Windows フォームに非表示のプログレス バーがあります。Windows フォームのボタンを押すと、ファイルが読み込まれ、進行状況バーがいくつかの手順を実行するはずです...ファイルの読み込み操作はかなり複雑なので、特定の種類のファイル用の独自のクラスから読み込みます. お気に入り:
void TestButton_Click(object sender, EventArgs e)
{
MapFiles.ProcessFile()
}
ProcessFile メソッドで、フォームの ProgressBar を制御したいと考えています。ProgessBar を公開して静的にすると、機能します。しかし、これにはいくつかの不満があります。フォーム デザイナで要素を制御することはできなくなりました。
フォームのインスタンス化されたオブジェクトにアクセスできれば簡単です。しかし、フォームが次のように初期化されているため、方法がわかりません。
Application.Run(new Form1());
MapFiles は実際には Form1 とは何の関係もないので、ここで Inheritance で何かをしたくありませんでした...
別のクラスからこの ProgressBar を制御する別の/最良の方法はありますか?