Đừng nghe tên ngốc MusiGenesis đó. Một cách tốt hơn để xử lý các độ phân giải màn hình khác nhau cho các thiết bị Windows Mobile là sử dụng các hình thức thừa kế, có thể được gắn vào một ứng dụng CF hiện có với nỗ lực tối thiểu.
Về cơ bản, bạn thiết kế từng biểu mẫu cho màn hình 240x320 chuẩn. Khi bạn cần phải sắp xếp lại một hình thức cho một nghị quyết mới (giả sử 240x240), bạn thêm một hình thức mới để dự án của bạn và có nó kế thừa từ gốc 240x320 hình của bạn:
public partial class frmDialog240x240: frmDialog
thay vì chỉ biểu mẫu:
public partial class frmDialog240x240: Form
như bình thường. Trên biểu mẫu ban đầu của bạn, bạn cần phải đặt thuộc tính Modifiers của mỗi điều khiển thành Được bảo vệ (thay vì Riêng tư mặc định). Trong trình thiết kế cho biểu mẫu mới của bạn, bạn sẽ thấy tất cả các điều khiển trên biểu mẫu bạn đang kế thừa và bạn có thể di chuyển chúng và thay đổi kích thước chúng khi bạn thấy vừa với kích thước màn hình mới (điều này sẽ không ảnh hưởng đến biểu mẫu gốc bố trí).
Khi chương trình của bạn đang chạy, thật dễ dàng để kiểm tra độ phân giải màn hình của thiết bị đang chạy và tạo biểu mẫu thích hợp (phương pháp nhà máy tốt cho việc này). Biểu mẫu mới của bạn kế thừa mọi thứ từ biểu mẫu cũ, nhưng sử dụng bố cục tùy chỉnh mới của bạn.
Cách tiếp cận này cho phép bạn tránh trùng lặp mã, vì không có bất kỳ lỗi nào.
Tôi đã thử phương pháp tiếp cận thừa kế và không nhận được rất xa, chủ yếu là do các vấn đề với nhà thiết kế. Tôi sử dụng để kết nối và có kết quả tốt. – cdonner
@cdonner: bạn có đặt thuộc tính Modifiers của mỗi điều khiển trên biểu mẫu gốc thành Được bảo vệ (thay vì Riêng tư) không? Đó là chìa khóa để nhà thiết kế làm việc đúng cách. – MusiGenesis