2010-09-03 37 views
4

我們有一個大表格類,我們要分成使用部分類方法附加子類表單

這可能通過手動修改項目文件,並添加MainFormPN.vb進入

做撕成小塊
<Compile Include="MainForm.vb"> 
    <SubType>Form</SubType> 
</Compile>  
<Compile Include="MainForm.Designer.vb"> 
    <DependentUpon>MainForm.vb</DependentUpon> 
    <SubType>Form</SubType> 
</Compile> 
<Compile Include="MainFormPN.vb"> 
    <DependentUpon>MainForm.vb</DependentUpon> 
</Compile> 

這種方法的問題是,當雙擊VS2008 IDE中的這個項目時,它顯示新的空白窗體,而不是MainForm UI。它看起來像VS2008不支持一個窗體的多個部分類。有可能這樣做嗎?

回答

2

實際上,使用多個部分類文件可以正常工作。我之前做過(雖然我不自豪地說... 如果你有一個如此龐大的表單,它需要分成幾個文件,也許是時候重構你的代碼)。

當您打開分部類時,Windows窗體設計器顯示空白窗體的事實只是Visual Studio的特性。只要你雙擊「主」形式的文件(在你的情況下,MainForm.vb),它將正確顯示。

換句話說,別擔心;來自您的部分類文件的代碼確實全部屬於同一個類。

+0

+1,不要亂用管道,你會有一個溼地板。 – 2010-09-03 22:05:26

+1

@HansPassant,我在同一個班裏做了幾乎所有的工作,而且很混亂。但它是有效的,當使用其他類來分離工作時,它會變得更慢,我必須調用那些只是令人煩惱的類。但在一天結束時,它可以工作,除了一個地方的代碼之外,還有什麼問題嗎? – Zerowalker 2013-08-28 22:53:51

0

另一種可能的方法是將功能組封裝到用戶控件中。這將封裝邏輯,使代碼更容易管理(如果正確),並且允許您在沒有VS和GUI部分窗體類的鬼臉的情況下使用相同的效果。