[英]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.