我正在構建一個小的選項卡式c#表單,我希望每個選項卡頁都具有一些常見功能,特別是一個OK按鈕和一個錯誤消息,併爲特定的空間表單域。在C#中創建一個自定義的TabPage控件
有沒有其他人做過類似的事情,你是如何接近它的?
我正在構建一個小的選項卡式c#表單,我希望每個選項卡頁都具有一些常見功能,特別是一個OK按鈕和一個錯誤消息,併爲特定的空間表單域。在C#中創建一個自定義的TabPage控件
有沒有其他人做過類似的事情,你是如何接近它的?
這很容易做到而不擴展TabControl/TabPage。
定義一個UserControl,並在每個TabPage上放置所需的常用元素。
在窗體上:繼續併爲每個TabPage設計TabPage特定的控件:確保一旦UserControl添加完成後,它們不會與公共控件重疊。
在主窗體的窗體的Load事件做這樣的事情:
// form scoped variable to hold a referece to the current UserControl
private UserControl1 currentUserControl;
private void Form1_Load(object sender, EventArgs e)
{
foreach(TabPage theTabPage in tabControl1.TabPages)
{
currentUserControl = new UserControl1();
theTabPage.Margin = new Padding(0);
theTabPage.Padding = new Padding(0);
theTabPage.Controls.Add(currentUserControl);
currentUserControl.Location = new Point(0,0);
currentUserControl.Dock = DockStyle.Fill;
currentUserControl.SendToBack();
}
}
即使「SendToBack是不是真的在這裏需要的是‘保險’,你的用戶控件與」好吧按鈕,用於錯誤消息的TextBox放置在您分配給每個TabPage的單個控件後面。
那些倒票的人:理解爲什麼不喜歡這個解決方案將非常感激。謝謝, – BillW 2010-03-25 14:41:31
@ BillW其實,一些屁股標記爲垃圾郵件。現在,我不知道這是一個好的答案,但我知道它不是垃圾郵件。所以,+1可以幫助彌補代表損失並中和你的答案等級。 – 2010-03-25 18:45:10
嗨BillW, 我喜歡這個解決方案。我知道這意味着我失去了「看到」控制的設計師支持,但我認爲它很好地完成了這項工作,謝謝。 – 2010-03-25 23:45:55
幾個思路:
每個頁面上的確定按鈕? – 2010-03-24 15:30:58
不正確的答案,但我想我會做一些測試,擴大原來的tabcontrolpage,添加您需要的常見功能 – michele 2010-03-24 15:32:47