2016-12-24 2 views
0

Ich habe dieses Projekt, wo Sie Dateien ziehen und ablegen können und es fügt alle Elemente zu einer Listbox hinzu.Warum zeigt meine MessageBox keine Dateiendung an?

Dann werden Sie mit MessageBox gefragt, ob Sie die Erweiterung sehen möchten.

Wenn Sie auf "Ja" drücken, sollten Sie eine MessageBox erhalten, die Ihnen mitteilt, welche Dateierweiterung jede einzelne Datei hat, indem Sie sie nacheinander durchlaufen, also 1 Nachrichtendatei pro Element, zB ".txt" ".exe" " pdf "usw.

aber aus irgendeinem Grund zeigt es keine Erweiterungen was auch immer nur eine leere MessageBox.

using System; 
using System.IO; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace dragndrop 
{ 
    public partial class frmMain : Form 
    { 
     public frmMain() 
     { 
      AllowDrop = true; 
      InitializeComponent(); 
     } 

     private void frmMain_DragEnter(object sender, DragEventArgs e) 
     { 
      if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
       e.Effect = DragDropEffects.Copy; 
     } 

     private void frmMain_DragDrop(object sender, DragEventArgs e) 
     { 

      string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); 
      lBox.Items.AddRange(files); 

      DialogResult dr = MessageBox.Show("Would you like to see the extension?", "Option", MessageBoxButtons.YesNoCancel); 
      if(dr == DialogResult.Yes) 
      { 

       string text = ""; 
       foreach (var item in lBox.Items) 
       { 
        string ext = Path.GetExtension(text); 
        MessageBox.Show(ext); 
       } 
      } 
      else 
      { 

      } 
     } 
    } 
} 
+1

Blick auf den Code: 'String ext = Path.GetExtension (Text);' Sie sind immer nur die Initialisierung 'Text 'zu einer leeren Zeichenfolge. –

+0

Das macht so viel Sinn! Vielen Dank! – JonnyKhanas

Antwort

1

Es sollte item anstelle von text,

foreach (var item in lBox.Items) 
{ 
    string ext = Path.GetExtension(item); 
    MessageBox.Show(ext); 
} 
+0

Vielen Dank! Das funktioniert perfekt! – JonnyKhanas

+0

@JonnyKhanas als Antwort markieren, wenn es geholfen hat – Sajeetharan

Verwandte Themen