2009-08-24 9 views
6

Comment puis-je obtenir la taille de fichier du fichier actuellement sélectionné dans mon Openfiledialog?Obtention de la taille de fichier à partir de OpenFileDialog?

+4

Voulez-vous dire alors que le dialogue est ouvert, ou après le dialogue a été fermé? Voulez-vous dire pour le programme ou pour l'utilisateur du programme? – Richard

+0

J'ai un sentiment que certains interop seront nécessaires ici :-) Bonne question si BTW, Intéressant –

+0

Plus d'explications s'il vous plaît, selon le commentaire de Richard. –

Répondre

6

Vous ne pouvez pas l'obtenir directement à partir de OpenFieldDialog.

Vous devez prendre le chemin du fichier et consturct un nouvel objet FileInfo de lui comme ceci:

var fileInfo = new FileInfo(path); 

Et de la fileinto vous pouvez obtenir la taille du fichier comme celui-ci

fileInfo.Length 

Pour plus d'informations, regardez cette page msdn.

1

Je pense qu'il ya 3 façon, la création par le code de votre dialogue ouvert sur mesure ou le réglage de la vue en détail ou en demandant à l'utilisateur d'utiliser la vue de détail

0

Si vous voulez dire quand la boîte de dialogue est en cours d'exécution, je vous soupçonne que le changement la vue du fichier aux détails. Cependant, si vous voulez dire par programme, je pense que vous devrez brancher un message Windows lorsque le fichier est sélectionné.

1

Sans interopérer et comme le premier commentaire, une fois le dialogue terminé, c'est-à-dire que le ou les fichiers ont été sélectionnés, cela donnerait la taille.

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


      } 
     } 

Taille du fichier au cours du dialogue, je me sens aurait besoin d'utiliser Interop

Andrew

Questions connexes