所以我在通知TabControl的一个TabPages上有一个主页。我有一个按钮,可以使用此Tabs.TabPages.Add("Homepage");
添加一个新选项卡
但是 TabPages.Add() 只是添加了一个新的空白页,我将如何在新选项卡上克隆我的主页?例如,如果我的主页有一个按钮"点击我",当我打开一个新标签时,我希望它有相同的按钮"点击我"链接到同一个事件"ClickMe_click"。就像Chrome Tab控件一样。我在 msdn 上找不到任何内置于 TabControl 的事件或方法,除非我错过了它。
任何帮助、提示或建议将不胜感激。谢谢。
您不能如此轻松地克隆标签页。可以尝试,但推荐的方法是:
-
创建用户控件并在页面上添加所需的所有控件。使其
Dock=Fill
并添加连接控件的任何代码。您可以像在表单或标签页中一样自由布局。 -
每当需要此类型的另一个页面时,请添加新的选项卡页,并将
UserControl
的实例添加到其Controls
集合中。
注意:默认情况下,UserControl
上的所有控件都private
。这与直接将它们放在标签页上没有什么不同。但是现在它们是UC类的私有成员,因此您的表单及其代码无法访问它们。
当你不熟悉它时,看起来像一个问题。但如果你看对了,创建一个更精简、更干净的界面是一个很好的机会。
-
解决方案 1:根据需要将控件修饰符更改为
public
-
解决方案 2:添加属性以公开您真正想要公开的数据。
另请注意:您可以执行所有布局,但只能在 UC 设计器中执行此操作。添加到窗体或选项卡页后,将没有嵌入式设计器。