2016-12-24 14 views
0

私はこのプロジェクトを持っています。そこにファイルをドラッグ&ドロップすると、すべてのアイテムがリストボックスに追加されます。メッセージボックスにファイル拡張子が表示されないのはなぜですか?

メッセージボックスで、拡張子を表示するかどうかを確認するメッセージが表示されます。

「はい」を押すと、各ファイルがどのファイル拡張子を持っているかを尋ねるメッセージボックスが表示されます。メッセージボックスでは、1つ1つメッセージボックスが表示されます。つまり、「.txt」「.exe」 pdf "など。

しかし何らかの理由で、何らかの理由で拡張機能が表示されないのは、空の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

ルックでなければなりません: '文字列EXT = Path.GetExtension(テキスト);'あなたは今まで 'テキストを初期化しています'を空の文字列に置き換えます。 –

+0

これはとても意味をなさない!ありがとう! – JonnyKhanas

答えて

1

それは、itemの代わりに、あなたのコードでtext

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

ありがとう!それは完璧に動作します! – JonnyKhanas

+0

@JonnyKhanasが役に立ったと答えている – Sajeetharan