すでに開いているC#Winformのラベルのテキストを変更する必要があります。フォームは私のプログラムの別のメソッドから開かれたため、すでに開いており、最初に作成されたときのフォームの元の参照にアクセスできません。
以下のコードでこれを実行しようとしましたが、フォームのラベルにアクセスできません。すでに実行されているフォームのラベルを(別のメソッドから)変更する方法はありますか?
//http://stackoverflow.com/questions/3861602/c-sharp-how-check-if-the-form-is-already-open-and-close-it-if-it-does
Form fc = Application.OpenForms["form1"];
if (fc != null)
{
//This does not work. I can not access the lblNewItems label.
//The label has it's public modifier set to Public and I am able
//to set this label successfully when I create the form originally
//from the other method.
fc.lblNewItems.Text = "Change text";
}
上記をコンパイルすると、次のエラーが発生します。
エラー4「System.Windows.Forms.Form」に「lblNewItems」の定義が含まれておらず、「System.Windows.Forms.Form」タイプの最初の引数を受け入れる拡張メソッド「lblNewItems」が見つかりませんでした(ディレクティブまたはアセンブリ参照を使用しますか?)
誰かがこれが可能かどうか、もしそうなら教えてくれませんか。別の方法で既に開いているフォームのラベルを変更するにはどうすればよいですか?