繁体   English   中英

如何在C#中将相同的控件添加到多面板中?

[英]How to add the same control into multi panel in C#?

我有一个名为 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?

我不知道为什么? 也许这对你来说是一个愚蠢的问题,但我是一个新手,所以我对这个问题一无所知? 你能帮助我吗? 谢谢!

对象button1只能有一个视觉父对象。 因此,您不应将其添加到 2 个不同的父项。

因此,您需要有 2 个按钮对象。

我不知道为什么你的第二个按钮不可见。 但是,为什么不使用具有相同点击事件的两个不同按钮呢?

如果问题仍然存在,您是否尝试过尝试添加按钮的两个不同实例?

祝你好运。

只能显示一个对象的一个​​实例,因此您必须为您的按钮创建另一个实例。 他们都将采取相同的行动(因为它们是一个控制 - 但为了拥有不同的实例而将采取不同的行动)。

这是因为您只能拥有一个控件实例。 你真的不需要一个对象的相同实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM