[英]Cloning tabs in Tab Control on button click in Winforms
所以我在winform TabControl的TabPage之一上有一个主页。 我有一个按钮,使用此Tabs.TabPages.Add("Homepage");
添加了一个新标签Tabs.TabPages.Add("Homepage");
但是TabPages.Add()只会添加一个新的空白页,我该如何在新选项卡上克隆主页? 例如,如果我的主页上有一个按钮“ Click me”,则当我打开一个新标签时,我希望它具有与相同事件“ ClickMe_click”链接的相同按钮“ Click me”。 就像Chrome Tab控件一样。 我找不到msdn上为TabControl内置的任何事件或方法,除非我错过了它。
任何帮助或暗示或建议,将不胜感激。 谢谢。
您无法如此轻松地克隆标签页。 一个可以尝试,但是推荐的方法是:
创建一个UserControl并将所需的所有控件添加到页面上。 将其设置为Dock=Fill
并添加连接控件的所有代码。 您可以像在表单或标签页中那样自由布局。
每当您需要此类型的另一个页面时,请添加一个新的选项卡页,并将UserControl
的实例添加到其Controls
集合。
注意:默认情况下, UserControl
上的所有控件均为private
。 这与将它们直接放在选项卡页上并没有什么不同。 但是现在它们是UC类的私有成员,因此您的表单及其代码无法访问它们。
初学者时看起来像是个问题。 但是,如果您看对的话,这是一个创建更精简界面的好机会。
解决方案1:根据需要将控件修饰符更改为public
解决方案2:添加属性以公开您真正想要公开的数据。
另请注意:您可以进行所有布局,但只能在UC设计器中进行。 添加到表单或标签页后,将没有嵌入式设计器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.