Có ai đã tìm ra giải pháp hữu ích cho vấn đề DesignMode khi phát triển các điều khiển không?
Vấn đề là nếu bạn lồng các điều khiển thì DesignMode chỉ hoạt động ở cấp độ đầu tiên. DesignMode cấp thứ hai trở xuống sẽ luôn trả về FALSE.
Bản hack tiêu chuẩn là xem xét tên của quá trình đang chạy và nếu nó là "DevEnv.EXE" thì nó phải là studio, do đó DesignMode thực sự là TRUE.
Vấn đề là tìm kiếm ProcessName hoạt động theo cách của nó thông qua sổ đăng ký và các phần kỳ lạ khác với kết quả cuối cùng là người dùng có thể không có quyền cần thiết để xem tên quy trình. Ngoài ra tuyến đường kỳ lạ này rất chậm. Vì vậy, chúng tôi đã phải bổ sung thêm các bản hack để sử dụng một singleton và nếu lỗi được đưa ra khi yêu cầu tên tiến trình thì hãy giả sử rằng DesignMode là FALSE.
Một cách tốt để xác định DesignMode là theo thứ tự. Việc được Microsoft sửa chữa nội bộ cho khuôn khổ sẽ còn tốt hơn!