2009-08-24 8 views
6

Wie bekomme ich die Dateigröße der aktuell ausgewählten Datei in meinem Openfiledialog?Dateigröße von OpenFileDialog abrufen?

+4

Meinen Sie, während der Dialog geöffnet ist, oder nach der Dialog geschlossen wurde? Meinst du das für das Programm oder für den Benutzer des Programms? – Richard

+0

Ich habe das Gefühl, dass einige Interop hier gebraucht werden :-) Nette Frage obwohl BTW, Interessant –

+0

Weitere Klärung bitte, laut Richards Kommentar. –

Antwort

6

Sie können es nicht direkt aus dem OpenFieldDialog abrufen.

Sie müssen den Dateipfad zu übernehmen und ein neues Fileinfo-Objekt aus es wie folgt consturct:

var fileInfo = new FileInfo(path); 

Und von der fileinto Sie die Größe der Datei wie folgt

fileInfo.Length 

bekommen

Für weitere Informationen schauen Sie sich diese msdn Seite an.

1

Ich denke, es 3 Weg, Ihren benutzerdefinierten offenen Dialog oder Einstellung von Code, um die Ansicht als Detail zu schaffen oder den Benutzer zu fragen Detailansicht

0

verwenden Wenn Sie meinen, wenn der Dialog läuft, ich vermute, dass Sie nur ändern die Dateiansicht für Details. Wenn Sie jedoch programmatisch meinen, habe ich den Verdacht, dass Sie eine Windows-Nachricht haken müssen, wenn die Datei ausgewählt ist.

1

Ohne interop und wie der erste Kommentar, sobald der Dialog abgeschlossen wurde, d. H. Datei/s ausgewählt wurden, würde dies die Größe geben.

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()); 
       } 


      } 
     } 

Dateigröße im Dialog müsste ich das Gefühl Interop verwenden

Andrew