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