私には2つの形式があります。1つはMDIの親で、もう1つはMDIの子です。親のボタンをクリックすると、子のフォームが開きます。フォームが重複しないようにコードを作成しました。それらの方法は次のとおりです。
public Form IsFormAlreadyOpen(Type FormType)
{
foreach (Form OpenForm in Application.OpenForms)
{
if (OpenForm.GetType() == FormType)
return OpenForm;
}
return null;
}
public static Form1 f1;
public void open_Form1()
{
Form UForm = null;
UForm = IsFormAlreadyOpen(typeof(Form1));
if (UForm == null)
{
UForm = new Form1();
UForm.MdiParent = this;
UForm.Show();
}
}
このコードは、MDI親フォームで入手できます。ボタンをクリックすると、メソッド「open_Form1()」が呼び出され、子フォームが開きます。
しかし、問題は、子形式で記述されたパブリックメソッドにどのようにアクセスできるかということです。子フォームにこのコードがあります。
public void somefunction()
{
/*code*/
}
MDI親からこのメソッドを呼び出すにはどうすればよいですか?