2009-08-24 29 views
6

Openfiledialogで現在選択されているファイルのファイルサイズを取得するにはどうすればよいですか?OpenFileDialogからファイルサイズを取得するには?

+4

を使用する必要がありますダイアログが開いている、または対話が閉じられた後にしながら、あなたは意味しますか?あなたはそのプログラムまたはそのプログラムのユーザーを意味しますか? – Richard

+0

私はここでいくつかのinteropが必要になるという気持ちがあります:-)良い質問ですが、BTW、面白い –

+0

リチャードのコメントに従って、より明確にしてください。 –

答えて

6

OpenFieldDialogから直接取得することはできません。

あなたはファイルパスを取ると、このようにそれから新しいFileInfoオブジェクトをconsturctする必要があります。

var fileInfo = new FileInfo(path); 

とのfileintoからあなたはこの

fileInfo.Length 

のようにファイルのサイズを取得することができます詳細はmsdnページをご覧ください。私は3の方法があると思い

1

、コードによって詳細としてビューをカスタム開くダイアログや設定を作成したり、ダイアログが実行されている場合を意味する場合は、詳細ビュー

0

を使用するユーザーを求めて、私はあなただけの変更を疑います詳細へのファイルビュー。しかし、プログラムで意味するならば、ファイルが選択されたときにウィンドウメッセージをフックする必要があると思われます。

1

interopがなく、最初のコメントと同様に、ダイアログが完了すると、ファイル/ sが選択されていれば、サイズが与えられます。私が感じるの対話中

public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      if (openFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       if (openFileDialog1.Multiselect) 
       { 
        long total = 0; 
        foreach (string s in openFileDialog1.FileNames) 
         total += new FileInfo(s).Length; 
        MessageBox.Show(total.ToString()); 


       } 
       else 
       { 
        MessageBox.Show(new FileInfo(openFileDialog1.FileName).Length.ToString()); 
       } 


      } 
     } 

ファイルサイズは、相互運用

アンドリュー

関連する問題