Tôi đang sử dụng một biểu mẫu đơn giản được tạo bởi VS 2010 chứa 2 nút, bắt đầu và dừng. Khởi động trình kích hoạt WH_MOUSE_LL bằng SetWindowsHookEx và dừng dừng móc. Móc hoạt động tốt và tôi mange để "thay thế" nút chuột giữa nhấp chuột với nhấp đúp, vấn đề duy nhất tôi có là nhấp vào nút Thu nhỏ/Tối đa hóa/Đóng của biểu mẫu, có vẻ như có một số loại "sự kiện đua" giữa móc và các sự kiện được gọi bằng các nút được đề cập ở trên. Nó phản ánh trên thực tế là khi bạn nhấn một trong các nút đó, nó sẽ bị "ép" một lúc trước khi nó hoàn thành hành động của nó (ví dụ: hình thức thu nhỏ). Khi tôi nhấp chuột phải vào biểu mẫu và chọn một trong những hành động đó, nó sẽ phản hồi ngay lập tức khi tôi dừng móc và nhấn một trong các nút được đề cập ở trên. Có ai gặp phải hành vi như vậy không?C# móc chuột cấp thấp và xử lý sự kiện theo mẫu
6
A
Trả lời
2
Tôi cũng đã trải nghiệm điều này trước đây. Tôi không chắc chắn về nguyên nhân chính xác, nhưng tôi đã luôn giải quyết vấn đề bằng cách lắng nghe các sự kiện được kích hoạt khi chuột vào và rời khỏi khu vực khách hàng của biểu mẫu, cửa sổ, bất cứ điều gì. Bạn có thể sử dụng những sự kiện đó để móc và tháo chuột, và sau đó bạn sẽ nhận được hành vi bình thường.
Các vấn đề liên quan
- 1. Trình xử lý sự kiện theo cú pháp/mẫu C# -
- 2. Thêm trình xử lý sự kiện nhấp chuột vào Pushpin
- 3. Xử lý tất cả các sự kiện chuột trong Android
- 4. Java, Mẫu thiết kế: Nhiều nguồn sự kiện và Một trình xử lý sự kiện
- 5. Delphi và ngăn sự kiện xử lý
- 6. Xử lý sự kiện chuột trên điều khiển với mẫu MVVM - thực hành tốt nhất -
- 7. Xử lý DataGridHyperlinkColumn Nhấp vào Sự kiện
- 8. WeakReference và xử lý sự kiện
- 9. WPF MVVM Sử dụng lệnh và xử lý sự kiện
- 10. Xử lý các sự kiện C# COM trong C++
- 11. Xử lý sự kiện phức tạp với C#
- 12. Xử lý sự kiện và rò rỉ bộ nhớ
- 13. Thêm xử lý sự kiện riêng trước xử lý sự kiện khác
- 14. Tạo trình xử lý sự kiện C# trống
- 15. Sự khác biệt, nếu có, giữa trình xử lý sự kiện và trình xử lý sự kiện?
- 16. Xử lý sự kiện trong DataTemplate
- 17. Tìm hiểu về móc chuột và bàn phím mức thấp (win32)
- 18. Lập trình trò chơi và xử lý sự kiện
- 19. Các xử lý sự kiện để chọn
- 20. Xử lý sự kiện từ Nhật ký Sự kiện và phản ứng trên một mẫu nhất định (Rx?)
- 21. Cách xử lý sự kiện trong MVVM
- 22. Ngăn chặn thực hiện các xử lý sự kiện mẹ
- 23. Thừa kế các trình xử lý sự kiện trong C#
- 24. C# xóa một trình xử lý sự kiện
- 25. NotifyIcon.BalloonTipBấm sự kiện và nút chuột
- 26. Ctrl + C ngắt sự kiện xử lý trong Linux
- 27. Xử lý sự kiện CTRL + C trong Node.js trên Windows
- 28. Xử lý sự kiện cho groupBox với radioButtons trong C#
- 29. cách xử lý các sự kiện nút được lập trình bổ sung? C#
- 30. Sự kiện xử lý sự kiện trong C# có bao giờ tăng ngoại lệ không?
Bản năng đầu tiên của tôi là bạn có thể đang sử dụng công cụ sai cho công việc - Tôi không thể nghĩ nhiều trường hợp khi bạn cần sử dụng móc nối Windows. Có lẽ nếu bạn có thể quay trở lại vấn đề dẫn đến việc bạn triển khai giải pháp này và đăng câu hỏi về điều đó thay thế? –
Xin chào, theo như tôi biết và tôi đã thực hiện một nghiên cứu trước khi tiếp cận phương pháp này nếu tôi muốn chuột chung của mình tạo ra nhấp đúp khi tôi nhấp vào nút chuột giữa là "chặn" nhấp chuột giữa và mô phỏng hai lần nhấp chuột trái cho cùng một x, y của chuột và nếu tôi muốn nó hoạt động ngay cả khi ứng dụng của tôi. không nằm trong tiêu điểm hoặc được thu nhỏ (hoặc ở khay hệ thống) là cách duy nhất. Bất kỳ cách nào tôi là lập trình viên c/C++ tôi chỉ muốn sử dụng C# vì sự đơn giản của việc tạo ra một GUI. – Alex
@Alex - Nghiên cứu của bạn dẫn bạn đến kết luận sai. Chỉ cần nắm bắt nút chuột giữa và thực hiện sự kiện tương tự như sự kiện chuột nhấp đúp (thực sự chỉ là một sự kiện nhấp chuột). Bên cạnh đó không phải tất cả những con chuột đều có nút chuột giữa nên hãy thận trọng về điều đó. –