正如你可能知道,所有的Express版本不支持第三方擴展。不幸的是,我知道沒有任何獨立的工具可以做你正在問的東西。
我已經嘗試將Winform類拆分爲partials類。正如你發現的那樣,這不是一件小事。 This之前有問題。不像Martin's嘗試,我去了另一個方向。我沒有創建設計器文件,而是將現有文件重命名爲MyForm.Designer.cs並創建了一個新的MyForm.cs文件。然後我採用了類似的方式,將「代碼隱藏」而不是設計器代碼移動到我的新類中。
使用這些技術的一個關鍵點是將來對錶單的更改仍然不會在正確的類文件中生成。這是因爲項目文件仍然無法識別要鏈接在一起的兩個文件。您唯一的選擇是在文本編輯器中手動編輯項目文件。查找以下:
<Compile Include="MyForm.Designer.cs">
<SubType>Form</SubType>
</Compile>
更換<SubType>...</SubType>
與<DependentUpon>MyForm.cs</DependentUpon>
所以最終的結果是這樣的:
<Compile Include="MyForm.Designer.cs">
<DependentUpon>MyForm.cs</DependentUpon>
</Compile>
另一種解決方案,我用了簡單的創建一個新的形式,並從舊錶拖動控制試驗到它。這實際上在一定程度上起作用。所有控件都隨其所有屬性一起遷移。沒有遷移的是事件處理程序。這些您必須從舊窗體中剪切並粘貼,然後遍歷每個控件並從窗體設計器重新選擇適當的處理程序。根據表單的複雜性,這可能是一個合理的選擇。
從我個人的經驗來看,支持多個用戶界面最好的方法是保持表單設計簡單,並將業務邏輯與用戶界面完全分開。 MVP Passive view對此很有效。通過將盡可能多的責任委託給演示者類,在不同的UI框架中實現該表單變得微不足道。 WinForms,WebForms,WPF等,對主講者類沒什麼影響。它在接口中看到的所有內容都暴露了它所操作的屬性列表。當然,當你面臨的問題在這裏和現在時,世界上所有的本能都無濟於事。
我想我不會在快遞版上工作。 :-( – Jonas 2010-02-01 20:55:33
)你不太可能找到一個可以快速處理的工具,但是,希望這是一次性的 - 你應該能夠下載一個可以處理宏/插件的beta或者eval版本。 – 2010-02-10 05:10:14