从另一个表单访问方法

时间:2018-03-24 15:06:27

标签: c# forms methods

在我的主要表单中,我有这种方法来停止计时器:

public  void resettimer()
{
    ShutdownTimer.Stop();
}

现在我需要在另一个表单上点击buttom时激活这个方法。这就是我编码的方式:

private void btn_doorgaan_Click(object sender, EventArgs e)
{ 
    //bib_main is how the first form is called

    Bib_main MainMenu = new Bib_main();
    MainMenu.resettimer();
}

这也是我在互联网上发现但没有任何反应,这种方法永远不会触发。

你们可以告诉我我做错了什么,或者当点击按钮时,他们是否是更好的方法来阻止其他形式的计时器?

2 个答案:

答案 0 :(得分:0)

您不能只创建一个新的Bib_main对象并在其上调用该方法。您需要在现有Bib_main上调用该方法。

答案 1 :(得分:0)

创建新表单时,应该包含对现有表单的引用(使用该方法的表单)。与该引用相比,您可以调用该方法,而不是创建Bib_main的新实例。

编辑:

表单的构造函数应如下所示:

private Bib_Main _mainForm;

public SomeForm(Bib_Main mainForm)
{
    // store the reference to a field
    _mainForm = mainForm;
}

在主窗体中创建新表单时:

SomeForm newForm = new SomeForm(this);

然后你可以这样称呼它:

_mainForm.resettimer();
相关问题