PDA

View Full Version : What's Application.DoEventS()



tranvu
24-10-2004, 10:02
cái phương thức Application.DoEvents() công dụng để làm gì vậy.
Tui thấy trong mấy source nó thức hiện phương thức này liên tục 2,3 lần để là gì?
Application.DoEvents();Application.DoEvents();
Application.DoEvents();Application.DoEvents();

danceswithwolves
24-10-2004, 10:42
những thứ có thể tra trong MSDN thì không nên hỏi.

phanthanhphan
26-01-2008, 10:50
những thứ có thể tra trong MSDN thì không nên hỏi.

Nếu không trả lời thì đừng trả lời những câu "chảnh 9" như vậy!

bienca101
26-01-2008, 20:18
DoEvents nhìn thoáng qua thì rất đơn giản, nhưng kỳ thực lại rắc rối. Nếu bạn chỉ muốn hỏi chơi cho biết thì có thể tóm tắt là Application.DoEvents báo cho GUI thread của WinForm biết là không chờ đợi nữa mà hãy process queued events chẳng hạn như keyboard, mouse, invalidate, vv...

Còn nếu muốn hỏi cho cặn kẽ thì câu trả lời là... đừng nên dùng Application.DoEvents. Đây là cách hack mà beginner hay học. Tuy nhiên, vấn đề là ở chỗ DoEvents sẽ gây ra nhiều subtle bugs khó trace ra được.

Minh chứng dễ thấy là đoạn code


Application.DoEvents();Application.DoEvents();
Application.DoEvents();Application.DoEvents();


Chắc em nào viết đoạn code trên chả hiểu tại sao lúc chạy được, lúc lại có lỗi linh tinh nên mới chơi kiểu DoEvents hàng loạt như trên :D

5diopt
26-01-2008, 20:31
Àh, có ai biết làm cách nào để application của mình có thể bắt được hotkey trên Windows không?

nhc1987
03-02-2008, 01:59
Lần đầu tiên thấy gọi DoEvents quá 1 lần.

Ko biết cái đoạn trên do ai code ra :|

5diopt
03-02-2008, 17:45
Application.DoEvent() có chức năng bỏ qua những thực thi đang chờ để thực thi một công việc khác. Ví dụ bạn đang có một Thread đang chạy và bạn muốn ngay lập tức thực thi một công việc khác mà không phải chờ Thread làm việc hết phiên của mình thì bạn gọi phương thức DoEvent() rồi gọi phương thức cần thực thi!
Việc gọi DoEvent() liên tục như trên mình cũng chưa gặp, nhưng mình nghĩ nó có khả năng ngăn Thread nào đó làm việc trọn vẹn phiên. Không biết ý kiến này có đúng không, ai biết xin giải thích giùm cái

qhhqnavy
21-03-2011, 15:37
What's Application.DoEventS
cũng có thể các anh hai nói đúng
để em xem thế nào nhé
cái này em cũng nhìn nhiều nhưng không hiểu nó làm gì nữa