Trong khi phát triển một ứng dụng WinForms, tôi bắt gặp những gì tôi tin là một lỗi trong các điều khiển OpenFileDialog và SaveFileDialog. Tìm kiếm của Google đã bật lên một người khác nhận thấy cùng một vấn đề, nhưng cả giải pháp lẫn cách giải quyết đều không được cung cấp. Bạn có thể xem chủ đề này tại: http://bytes.com/topic/visual-basic-net/answers/389470-open-file-dialog-picturebox-click-event.FileDialog Hành vi DoubleClick
Tôi có một điều khiển tùy chỉnh trên biểu mẫu xử lý sự kiện MouseDown. Nếu tôi doubleclick một tập tin trong một điều khiển FileDialog trong khi con chuột trên kiểm soát này (với hộp thoại giữa chúng, rõ ràng), sự kiện MouseDown được kích hoạt. Tôi không nghĩ rằng đây là một vấn đề với sự kiểm soát của tôi, bởi vì người tôi đã đề cập trước đó nhận thấy điều này xảy ra với một điều khiển PictureBox. Có vẻ như rằng mặc dù nút chuột đã được nhấn xuống (cho nhấp chuột thứ hai để mở tệp) trong khi trên hộp thoại, sự kiện được chuyển đến biểu mẫu và điều khiển của tôi khi hộp thoại đóng.
Tôi đã thử vô hiệu hóa điều khiển của mình trong khi hộp thoại đang hoạt động, nhưng điều đó đã không ngăn điều khiển chụp sự kiện. Tôi cho rằng điều này là do sự kiện được chuyển xuống sau khi hộp thoại đóng, do đó điều khiển của tôi sẽ được kích hoạt lại. Có ai biết cách nào để ngăn chặn nhấp chuột đó đến được biểu mẫu và, lần lượt, điều khiển của tôi không? Ngoài ra, bất cứ ai có thể xác nhận nếu điều này thực sự là một lỗi trong các điều khiển FileDialog, hoặc nếu tôi chỉ có một số thiết lập cấu hình không chính xác?
Tôi đang gọi base.OnMouseDown (e) từ bên trong trình xử lý OnMouseDown (MouseEventArgs e) đã ghi đè của tôi. Tôi đã thử gọi nó cả trước đây (ở trên cùng) và sau (ở dưới cùng) của người xử lý của tôi, nhưng không vị trí nào dường như có bất kỳ ảnh hưởng nào đến vấn đề này. Tôi sẽ phải xem xét hàng đợi Sự kiện chặt chẽ hơn và xem liệu tôi có thể tìm thấy thứ gì đó ở đó không. –