2012-10-29 41 views
2

我創建了3個不同的(但共享相同的數據庫連接)Windows窗體應用程序。每個這樣的應用程序都非常簡單,只包含一個表單。如何將三個Windows Forms應用程序轉換爲一個?

假設我有3種形式:Form1,Form2和Form3,我現在想要定義Form1是主窗體(和唯一的應用程序),並從Form1中調用Form2和Form3,作爲Form1應用程序的一部分,而不是獨立的應用。類似的東西來:

private void btnForm2_Click(object sender, EventArgs e) 
{ 
    Form2 form2 = new Form2(); 
    form2.Show(); 
} 

private void btnForm3_Click(object sender, EventArgs e) 
{ 
    Form3 form3 = new Form3(); 
    form3.Show(); 
} 

儘管這看起來簡單,我很困惑,如何導入窗體2和Form3到Form1項目不會影響什麼的VS 2010已經做了「自動地」的完整性。

也就是說,我認爲,這不僅是對Form2.cs文件,我需要拖放到Form1項目,但其他文件爲好,如Form2.Designer.csForm2.resx ...更多?

我是否需要複製項目下的文件PropertiesReferences

將三個項目有條不紊地轉換成一個項目需要什麼步驟?

回答

2

從您的解決方案「Form1」中,您可以導入其他項目。

(右鍵點擊解決方案:添加>現有項目)

所以,現在你將有:

- MySolution 
    - Project: Form1 
    - Project: Form2 
    - Project: Form3 

您必須設置構建順序和項目之間的構建依賴。

另一種方法是將文件從一個項目手動複製到另一個項目並將它們添加到項目中。是的,你需要VS創建的所有文件。 (resx,.Designer.cs等)只需將整個軟件包複製到項目文件夾中即可。

並且不,您不需要觸摸「屬性」或「引用」,除非其他兩個項目中的一個具有不同的引用。應該很容易跟蹤,因爲您複製的文件在文件的「使用xxx」部分中會出錯。你只需要添加正確的引用。

(右鍵點擊項目:添加>現有項目)

因爲你的項目沒有看巨大的,我會去與溶液中的兩種。

+0

謝謝。我已經按照您在「解決方案一」中描述的方式組織瞭解決方案。我想要的實際上是解決方案二。我會嘗試你的建議並報告它是如何工作的。 – Souper

+0

如果我沒有記錯,當你添加一個.cs文件,該文件在.designer.cs和.resx的同一目錄中時,VS會自動添加其他具有相同名稱的文件。如果沒有,手動添加所有文件,並且VS應該正確地鏈接它們。 – LightStriker

+0

您的解決方案有兩個工作 - 添加提示,只需要複製3個文件(每個輔助表單應用程序):Form2.cs,Form2.Designer.cs和Form2.resx。另外,如果逐字複製(如我的情況),原始名稱空間需要解決。 – Souper

相關問題