2011-03-11 97 views
1

我在表單中使用了TabControl,這讓我感到驚訝。現在我只有兩個選項卡和我店爲主要形式的代碼與這兩個選項卡手續(按鈕處理,&角),所以它看起來是這樣的:一種形式的多個類

public partial class MainForm : Form 
{ 
    // ----------TAB1----------- 
    tab1SearchButtonCLick() {...} 
    tab1AddButtonCLick() {...} 
    // ----------TAB2----------- 
    tab2EditButtonCLick() {...} 
    tab2SearchButtonCLick() {...} 
    tab2ClearButtonCLick() {...} 
} 

那現在是不是有問題,這麼少的代碼,但它可能是未來的代碼。這是一個可接受的方式嗎?有什麼選擇?我相信我可以把這些標籤放在他們自己的類中,但我不確定我會如何做到這一點(每個標籤中有很多控件,我必須將其作爲參數傳遞給構造函數)。

回答

3

您應該將每個選項卡的內容移到單獨的UserControl。

每個UserControl應該是一個自包含的單元,它可以從主窗體獲取需要的任何數據並觸發事件來告訴主窗體執行任務。

0

選項卡有事件的原因 - 選項卡引發事件,不想處理它。
當您使用選項卡(或具有事件的其他對象)時,您需要編寫處理事件的代碼。

如果你真的想要,你可以在不同的文件中編寫這個類,這樣你就可以將自己的邏輯保存在不同的文件中。

如果您會注意到Form被Visual Studio生成爲partial類。
這是因爲設計代碼是在單獨的文件中生成的。
你可以通過在其他文件中聲明該類的其他部分爲partial來做到這一點。

更多關於partialthis link