- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別のフォームで記述している関数を実行するには?C#)
別のフォームで記述している関数を実行するには?C#
このQ&Aのポイント
- C#で別のフォームで記述した関数を実行する方法について教えてください。
- Form1で定義されている関数をForm2で使いたい場合、どのようにすればよいでしょうか?
- Form2でForm1で作成した関数を呼び出す方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
この記述方法ですとForm1のインスタンス経由で関数を実行します Form2側からですと ((Form1)Application.OpenForms["Form1"]).hoge(); といった具合です 下のように Form1クラスにスタティック(静的)関数を作成すれば public static void foo() { } Form2側からは Form1.foo(); といった具合で実行できます MessageBoxのShowがこの静的実装がされています
お礼
ありがとうございます! ((Form1)Application.OpenForms["Form1"]).hoge(); としてForm1のほうをpublic void hoge()にしたらうまく動作しました。 なぜかstaticをつけたらhoge()関数の中がエラーになりましたが、外したらうまくいきました。