从另一个表单调用方法

Bud*_*rot 3 c# winforms

我尝试从另一种形式调用方法.我的尝试:

public partial class newLedPopUp : Form
{
    Form1 back = new Form1();
    back.output();
    Close();
}
Run Code Online (Sandbox Code Playgroud)

public partial class Form1 : Form
{
    newLedPopUp popup = new newLedPopUp();

    public void output()
    {
        button3_Click(null, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能帮助我吗?我真的找不到我的错误,而且我一直在寻找很长一段时间.

Hab*_*bib 31

您可能需要一个已打开表单的实例,并从那里调用该方法,而不是创建新表单的实例.你可以试试:

if (System.Windows.Forms.Application.OpenForms["yourForm"] != null)
    {
        (System.Windows.Forms.Application.OpenForms["yourForm"] as Form1).Output();
    }
Run Code Online (Sandbox Code Playgroud)

另外,您可以通过将事件的代码放在单独的方法中,然后针对您的按钮单击事件或公共输出方法调用该方法来替换button3_Click(null,null)在您的Output方法中调用

  • 它的工作原理..我从未听过类Application.Openforms ...谢谢你:) (5认同)