在 WinForms 中的按钮单击时克隆选项卡控件中的选项卡



所以我在通知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 设计器中执行此操作。添加到窗体或选项卡页后,将没有嵌入式设计器。

最新更新