2009-08-24 18 views
6

Jak mogę uzyskać rozmiar pliku aktualnie wybranego pliku w moim Openfiledialog?Pobieranie plików z OpenFileDialog?

+4

Czy to znaczy, gdy dialog jest otwarty, czy po dialogu zostało zamknięte? Masz na myśli program lub użytkownika programu? – Richard

+0

Mam przeczucie, że potrzebna będzie tu odrobina interakcji :-) Ładne pytanie, chociaż BTW, Interesujące –

+0

Więcej wyjaśnień, proszę, zgodnie z komentarzem Richarda. –

Odpowiedz

6

Nie można bezpośrednio pobrać z OpenFieldDialog.

Trzeba podjąć ścieżkę pliku i consturct nowego obiektu FileInfo z nim tak:

var fileInfo = new FileInfo(path); 

I od FileInto można uzyskać rozmiar pliku tak

fileInfo.Length 

Aby uzyskać więcej informacji, spójrz na tę stronę msdn.

1

myślę, że jest 3 sposób, tworząc swój własny otwartego okna lub ustawienie kodu pogląd jak szczegółowo lub pytając użytkownika o użyciu widoku szczegółów

0

Jeśli masz na myśli, gdy pracuje się okno dialogowe, podejrzewam po prostu zmianę widok pliku do szczegółów. Jednakże, jeśli masz na myśli programistycznie, podejrzewam, że po wybraniu pliku musisz pobrać wiadomość Windows.

1

Bez interopu i podobnie jak w przypadku pierwszego komentarza, po zakończeniu dialogu, tj. Wybrano plik/s, dałoby to rozmiar.

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


      } 
     } 

Rozmiar podczas dialogu czuję musiałby użyć współdziałania

Andrew

Powiązane problemy