2010-08-03 28 views
8

Tôi đang tìm cách cung cấp cho người dùng khả năng kéo các tệp thả xuống từ các ô và các điều khiển khác trong ứng dụng của tôi vào Explorer. Bất kỳ mẫu/bài viết nào tốt cho điều đó?Kéo thả từ ứng dụng .NET sang Explorer

+0

Dưới đây là một số thông tin từ các diễn đàn microsoft http://social.msdn.microsoft.com/forums/en-US/winforms/thread/f57ffd5d-0fe3-4f64-bfd6-428f58998603/. Tôi đã tìm thấy một loạt các bài báo có liên quan [tìm kiếm với tiêu đề của bài đăng này] (http://www.bing.com/search?q=Drag+Drop+from+.NET+application+to+Explorer&go=&form=QBLH&filt= tất cả & qs = n & sk =) – btlog

Trả lời

7

Nó khá thẳng về phía trước, chỉ cần gọi DoDragDrop trong một sự kiện MouseDown. Bạn sẽ cần các tệp thực trên đĩa để làm việc này.

private void Form1_MouseDown(object sender, MouseEventArgs e) { 
    string[] files = new string[] { @"c:\temp\test.txt" }; 
    this.DoDragDrop(new DataObject(DataFormats.FileDrop, files), DragDropEffects.Copy); 
} 
+0

Phương pháp này hoạt động hoàn hảo ngoại trừ việc nó can thiệp vào các sự kiện khác như mục nhấp đúp và nhấp và kéo để chọn nhiều. Có cách nào để giải quyết này? – Stoopkid

+2

Chắc chắn, hãy sử dụng sự kiện MouseMove thay thế và không bắt đầu kéo cho đến khi nó di chuyển đủ xa. Không phải là chủ đề của câu hỏi này. –

Các vấn đề liên quan