2011-12-18 32 views
17

Làm cách nào để tải tệp xuống biểu mẫu bằng cách kéo và thả?C# kéo và thả tệp để tạo thành

Sự kiện nào sẽ xuất hiện?

Tôi nên sử dụng thành phần nào?

Và cách xác định tên tệp và các thuộc tính khác sau khi kéo và thả nó vào biểu mẫu?

Cảm ơn bạn!

private void panel1_DragEnter(object sender, DragEventsArgs e){ 
     if (e.Data.GetDataPresent(DataFormats.Text)){ 
       e.Effect = DragDropEffects.Move; 
       MessageBox.Show(e.Data.GetData(DataFormats.Text).toString()); 
     } 
     if (e.Data.GetDataPresent(DataFormats.FileDrop)){ 

     } 
    } 

ok, công trình này.

Làm thế nào về tệp? Làm thế nào tôi có thể nhận được tên tập tin và phần mở rộng?

và đây chỉ là hành động dragEnter.

+0

Các sự kiện liên quan đến kéo khác nhau được xử lý cùng nhau theo kiểu phối hợp. Bạn đã đọc tài liệu liên quan chưa? –

+1

có thể trùng lặp của [Làm cách nào để kéo và thả tệp vào ứng dụng aC#?] (Http://stackoverflow.com/questions/68598/how-do-i-drag-and-drop-files-into-ac-sharp -ứng dụng) –

Trả lời

29

Mã này sẽ lặp qua và in tên đầy đủ (bao gồm cả phần mở rộng) của tất cả các tập tin kéo vào cửa sổ của bạn:

if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
{ 
     string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); 
     foreach (string filePath in files) 
     { 
      Console.WriteLine(filePath); 
     } 
} 
5

Kiểm tra liên kết dưới đây để biết thêm

http://doitdotnet.wordpress.com/2011/12/18/drag-and-drop-files-into-winforms/

private void Form2_DragDrop(object sender, DragEventArgs e) { 
    if (e.Data.GetDataPresent(DataFormats.FileDrop)) { 
    string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop)); 
    foreach (string fileLoc in filePaths) { 
     // Code to read the contents of the text file 
     if (File.Exists(fileLoc)) { 
     using (TextReader tr = new StreamReader(fileLoc)) { 
      MessageBox.Show(tr.ReadToEnd()); 
     } 
     } 
    } 
    } 
} 

Cảm ơn.

+1

Một bản tóm tắt nội dung của liên kết được yêu cầu cho một câu trả lời có chất lượng. Và hãy cẩn thận với việc đăng các liên kết lên blog của chính bạn: nó trông rất khủng khiếp như spam. –

+0

ok cảm ơn Cody Gray. Sẽ theo dõi nhận xét của bạn – doit4dotnet

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