我有一个名为button1的按钮和两个面板:panelA和panelB(默认情况下可见为false)和以下代码(WinForms):
panelA.Controls.Add(button1);
panelB.Controls.Add(button1);
panelB.Visible = true; // I see the button1
panelA.Visible = true; // I don't (ofcoz panelB.Visible is still false)
MessageBox.Show(panelA.Controls.Contains(button1).ToString); //False, why?
我不知道为什么?也许这对你来说是一个愚蠢的问题,但我是新手,所以我对这个问题真的不知道吗?你能帮助我吗?谢谢!
答案 0 :(得分:5)
对象button1
只能有一个可视父级。因此,您不应将其添加到2个不同的父母。
所以,你需要有2个按钮对象。
答案 1 :(得分:1)
我不知道为什么你的第二个按钮不可见。但是,为什么不使用具有相同点击事件的两个不同按钮?
如果问题仍然存在,您是否尝试添加两个不同的按钮实例?
祝你好运。
答案 2 :(得分:0)
只能显示一个对象实例,因此您必须为您的按钮创建另一个实例。它们都是相同的(因为它们是一个控制 - 但是为了拥有不同的实例,它们会有不同的行为)。
这是因为你只能拥有一个控件实例。你真的不需要同一个对象的实例。