2010-11-15 35 views
2

我有帶獨立groupboxes和對象WinForm應用程序,但這些代碼不會被組合框中進行排序和漂亮搞砸了。單獨的代碼

可以將代碼中的2個文件什麼的分裂與同處的對象?

編輯:

這是我的代碼:

alt text

我應該如何分割呢? (我需要一切與新聞和一切與迪爾改變)

+0

不清楚你的意思是「代碼沒有按groupbox排序」......你能詳細說明一下嗎? – 2010-11-15 16:41:59

+0

不是真的在groupboxes。我有兩組對象,但我想分開每組對象的代碼。 – klopske 2010-11-15 21:16:05

回答

2

您可能會發現更容易,問題較少使用的區域比試圖分裂出來的文件:

#region - TextBox Events - 

private void txtNews_TextChanged() {...} 

private void txtDir_TextChanged() {...} 

#endregion 

#region - ComboBox Events - 

private void cmbNews_SelectedIndexChanged() {...} 

private void cmbDir_SelectedIndexChanged() {...} 

#endregion 

其中,倒塌的時候,看起來就像

- TextBox Events - 

- ComboBox Events - 

你也可以考慮的一個工具像Ora瀏覽大型文件:http://ora.codeplex.com/ JetBrains的Resharper還具有出色的文件結構查看器。

5

這聽起來像我想要檢查出Partial Classes

它們允許你分割代碼在多個文件之間的單一類。

+2

表單已經是部分類。增加另一部分是打破設計師的好方法。 – 2010-11-15 16:54:16

+0

@漢斯:這不會打破設計師。 – SLaks 2010-11-15 16:55:36

+1

@SLaks:嘗試一下,添加一個事件處理程序並將其移動到額外的部分。請注意設計師不再看到它,並且很容易添加另一個。 – 2010-11-15 17:30:15

1

你或許應該把每一組框到一個單獨的用戶控件。

0

,你可以:

  • 拆分代碼隱藏到多餘的部分,超出了設計師爲您設置,因此可以保持其代碼的「安全」。
  • 爲每個GroupBox創建一個用戶控件,甚至可能使用不同的名稱和包含的控件設置相同的對象。
  • 僅僅通過分組框中單個代碼隱藏內重新排列控制處理程序,從提取常用方法(綁定/解除綁定型行爲)成特定組框的方法線。
0

你可以創建部分類,如果你想要一個以上的代碼文件。它看起來像:

public partial class MyClass {...} 

可以,可選擇添加在.csproj的一個DependentUpon屬性(我不知道的方式做到這一點以外手動編輯的.csproj)。這將它們連接在IDE中。它看起來像:

<Compile Include="MyClass.Controls.cs"> 
    <DependentUpon>MyClass.cs</DependentUpon> 
</Compile> 

我就是你在談論在了.Designer.cs文件自動生成的代碼有點擔心......你不想改變VS的東西產生你...如果你這樣做,你下次改變窗體上的東西時將失去所有的改變,因爲VS會重新生成它!