【发布时间】:2017-04-25 19:35:39
【问题描述】:
我有一个名为Meeting 的用户控件,它位于Form2 内的用户控件P2 内。从Form1 我在P2 中调用一个名为Update 的函数:
public void Update1()
{
meeting1.Visible = false;
}
所以我从表格 1 开始使用:
P2 p = new P2();
p.Update();
它什么也不做。如果我直接使用 P2 中的函数,它可以工作,但如果我尝试从 Form1 使用它,它就不起作用。如果我在函数内添加MessageBox,MessageBox 可以工作,但有关meeting 的代码不起作用。
【问题讨论】:
-
好的,你有一个
P2的实例。如果它自己调用Update(),就会发生这种情况。现在你创建一个完全不同的P2的新实例,你知道它是新的,因为你说new P2()来创建它。当您为此调用Update()时,您不会在另一个P2上调用Update()。你看到了吗? -
嗯,我明白了。那么我应该如何进行呢?
-
是什么创建了
Form2?他需要保留对它的引用并将其公开以供Form1使用。如果Form1创建它,那很容易。 -
Form2是我按 F5 时运行的标准 WinForm -
那么
Form1是谁创建的?