Như bạn đã biết, tất cả các phiên bản Express không hỗ trợ phần mở rộng của bên thứ ba. Thật không may tôi biết không có công cụ đứng một mình có thể làm những gì bạn đang yêu cầu.
Tôi đã thử nghiệm chia tách lớp Winform thành các lớp partials. Khi bạn phát hiện ra, nó không phải là một công việc tầm thường. This câu hỏi đã được hỏi trước. Không giống như nỗ lực Martin's, tôi đi theo hướng khác. Thay vì tạo một tệp thiết kế, tôi đã đổi tên tệp hiện có thành MyForm.Designer.cs và tạo tệp MyForm.cs mới. Sau đó tôi tiến hành theo cách tương tự, di chuyển "mã phía sau" thay vì mã thiết kế vào lớp mới của tôi.
Điểm gắn bó với một trong các kỹ thuật này là các thay đổi trong tương lai đối với biểu mẫu vẫn không tạo ra trong tệp lớp chính xác. Điều này là do tệp dự án vẫn không nhận ra hai tệp được liên kết với nhau. Tùy chọn duy nhất của bạn là chỉnh sửa thủ công tệp dự án trong trình soạn thảo văn bản. Tìm kiếm như sau:
<Compile Include="MyForm.Designer.cs">
<SubType>Form</SubType>
</Compile>
Thay <SubType>...</SubType>
với <DependentUpon>MyForm.cs</DependentUpon>
nên kết quả cuối cùng trông giống như:
<Compile Include="MyForm.Designer.cs">
<DependentUpon>MyForm.cs</DependentUpon>
</Compile>
Một giải pháp tôi đã thử nghiệm với chỉ đơn giản tạo ra một hình thức mới và kéo điều khiển từ hình thức cũ cho nó. Điều này thực sự làm việc đến một mức độ. Tất cả các điều khiển được di chuyển cùng với tất cả các thuộc tính của chúng. Những gì không di chuyển là trình xử lý sự kiện. Bạn sẽ phải cắt và dán từ biểu mẫu cũ, sau đó đi qua từng điều khiển và chọn lại trình xử lý thích hợp từ trình thiết kế biểu mẫu. Tùy thuộc vào độ phức tạp của biểu mẫu, đây có thể là giải pháp thay thế hợp lý.
Từ kinh nghiệm cá nhân của riêng tôi hỗ trợ nhiều giao diện người dùng, cách tiếp cận tốt nhất là giữ thiết kế biểu mẫu đơn giản và tách logic nghiệp vụ khỏi giao diện người dùng hoàn toàn. Các MVP Passive view hoạt động khá tốt cho việc này. Bằng cách ủy thác phần lớn trách nhiệm cho một lớp người trình bày, nó trở nên tầm thường để thực hiện biểu mẫu trong một khung công tác UI khác nhau. WinForms, WebForms, WPF, vv, nó tạo ra sự khác biệt nhỏ cho lớp trình bày. Tất cả những gì nó thấy trong một giao diện hiển thị một danh sách các thuộc tính mà nó thao tác. Tất nhiên tất cả những người khờ dại khờ khạo trên thế giới sẽ không giúp được gì khi vấn đề bạn đang đối mặt ở đây và bây giờ.
Nguồn
2010-02-10 19:54:40
Tôi nghĩ rằng tôi sẽ không làm việc trên các ấn bản thể hiện. :-( – Jonas
Bạn không thể tìm thấy một công cụ sẽ hoạt động nhanh, tuy nhiên, điều này hy vọng là một lần - bạn sẽ có thể tải xuống phiên bản beta hoặc eval để xử lý macro/plugin. –