Để vô hiệu hóa trình thiết kế thành phần trong các lớp, bạn chỉ cần thêm thuộc tính [System.ComponentModel.DesignerCategory ("")] vào nó, tuy nhiên nó không hoạt động đối với bất kỳ lớp nào bắt nguồn từ lớp này trong bất kỳ thế hệ nào. Ví dụ:Cách tắt trình thiết kế trong các lớp dẫn xuất trong các thế hệ sau
[System.ComponentModel.DesignerCategory("")]
public class A:ServiceBase { } //Designer is disabled here
public class B:A {} //Designer is enabled here
[System.ComponentModel.DesignerCategory("")]
public class B:A {} //Designer is enabled here too
[System.ComponentModel.DesignerCategory("Code")]
public class B:A {} //Designer is enabled even here
Điều này xảy ra, tất nhiên, trong bất kỳ thế hệ và hoán vị nào khác. Ví dụ.
//Whatever attribute here
public class C:B {} //Designer is enabled here
Có ai đã từng loại bỏ nó không? Tại sao mô hình thành phần cố gắng thêm hỗ trợ thiết kế ngay cả khi nó bị vô hiệu hóa một cách rõ ràng trong thế hệ đầu tiên?
Cảm ơn bạn
Nó không rõ ràng chính xác trong đó hội đồng những lớp này sống và có hay không chúng là một phần của giải pháp. Cài đặt AutoPopulate của hộp công cụ được ưu tiên. –
điều này không được đề cập. hoặc các lớp cơ sở và các lớp dẫn xuất trong cùng một assembly hoặc chúng nằm trong các assembly khác nhau là giống nhau (chỉ có lớp cơ sở [trực tiếp bắt nguồn từ ServiceBase] không có thiết kế) – Tamir