Pre .net Tôi đã sử dụng MFC, ON_UPDATE_COMMAND_UI và lớp CCmdUI để cập nhật trạng thái giao diện người dùng cửa sổ của tôi. Từ tài liệu tham khảo MFC/Win32 cũ hơn:Cập nhật đối tượng giao diện người dùng trong các hình thức cửa sổ
Thông thường, các mục menu và nút thanh công cụ có nhiều trạng thái. Đối với ví dụ , một mục menu có màu xám (bị mờ) nếu không có sẵn trong ngữ cảnh hiện tại . Các mục menu cũng có thể được kiểm tra hoặc bỏ chọn . Thanh công cụ cũng có thể bị vô hiệu hóa nếu không có hoặc có thể kiểm tra.
Ai cập nhật trạng thái của các mục này khi điều kiện chương trình thay đổi? Về mặt logic, nếu một mục trình đơn tạo ra một lệnh được xử lý bằng, ví dụ: tài liệu , bạn cần có tài liệu cập nhật mục menu. Tài liệu có thể chứa thông tin mà thông tin cập nhật là dựa.
Nếu lệnh có nhiều đối tượng giao diện người dùng (có thể là một menu mục và nút thanh công cụ), cả hai đều là được chuyển đến cùng một hàm điều khiển. Mã này đóng gói mã cập nhật giao diện người dùng cho tất cả các đối tượng giao diện người dùng tương đương trong một địa điểm duy nhất.
Khuôn khổ cung cấp giao diện thuận tiện để tự động cập nhật các đối tượng giao diện người dùng . Bạn có thể chọn để cập nhật theo cách khác, nhưng giao diện được cung cấp là hiệu quả và dễ sử dụng.
Hướng dẫn cho biểu mẫu Windows .net là gì? Tôi đang sử dụng một trình xử lý Application.Idle ở dạng chính nhưng tôi không chắc đây là cách tốt nhất để làm điều này. Khoảng thời gian tôi đặt tất cả các cập nhật giao diện người dùng trong trình xử lý sự kiện Idle, ứng dụng của tôi bắt đầu hiển thị một số vấn đề về hiệu suất và tôi chưa có số liệu để theo dõi điều này. Không chắc chắn nếu nó có liên quan.
biết chính xác là bạn đang cố gắng để làm một lần nữa? Bạn đang cố gắng vô hiệu hóa các điều khiển trên các ứng dụng WinForms? –
Tắt/bật các nút trên thanh công cụ, các mục menu, vv Kiểm tra/bỏ chọn các nút kiểm tra trên thanh công cụ, các mục menu hiển thị trạng thái kiểm tra. Đó là loại điều. Công cụ rất thường xuyên. –
Có, Application.Idle. Làm thế nào bạn có thể có một vấn đề perf khi ứng dụng nhàn rỗi là bí ẩn. –