chạy Khi bạn có một nút, và làm điều gì đó như:Force vẽ lại chẳng bao lâu hoạt động
Private Function Button_OnClick
Button.Enabled = False
[LONG OPERATION]
End Function
Sau đó, nút sẽ không được chuyển sang màu xám, vì hoạt động lâu ngăn thread UI từ sơn lại sự kiểm soát. Tôi biết thiết kế phù hợp là để bắt đầu một chủ đề nền/dispatcher, nhưng đôi khi đó là quá nhiều rắc rối cho một hoạt động đơn giản.
Vậy làm cách nào để buộc nút vẽ lại ở trạng thái đã tắt? Tôi đã thử .UpdateLayout() trên Button, nhưng nó không có bất kỳ hiệu ứng nào. Tôi cũng đã thử System.Windows.Forms.DoEvents() mà thường hoạt động khi sử dụng WinForms, nhưng nó cũng không có hiệu lực.
Anh ấy khá rõ ràng về việc nhận thức nhưng không sử dụng Dispatcher/Backgroundworker :) – edvaldig
@edvaldig: Tôi đã nhấn mạnh không sử dụng nó, tuy nhiên tôi đã cho anh ta mã anh ấy đang tìm kiếm. Tôi không nghĩ rằng điều này đáng giá -1 từ bạn. Nếu mã của tôi không hoạt động, sau đó cho tôi một -1, nhưng không cho một số lời khuyên bổ sung. Tôi không nghĩ điều này là công bằng. – HCL
Bạn nói đúng, tôi đã quá nhanh về nó, bình luận upvote để bù đắp :) – edvaldig