2009-08-24 25 views
6

¿Cómo puedo obtener el tamaño de archivo del archivo actualmente seleccionado en mi Openfiledialog?Obteniendo tamaño de archivo de OpenFileDialog?

+4

¿Quiere decir, mientras que el diálogo está abierto, o después de que el diálogo se ha cerrado? ¿Quiere decir para el programa o para el usuario del programa? – Richard

+0

Tengo la sensación de que se necesitará algo de interoperabilidad aquí :-) Buena pregunta, aunque por cierto, Interesante –

+0

Más aclaración, por favor, según el comentario de Richard. –

Respuesta

6

No se puede obtener directamente desde OpenFieldDialog.

Es necesario tomar la ruta del archivo y consturct un nuevo objeto FileInfo de esta manera:

var fileInfo = new FileInfo(path); 

Y desde el fileinto se puede obtener el tamaño del archivo así

fileInfo.Length 

Para obtener más información, consulte esta página msdn.

1

Creo que hay 3 vías, la creación de su diálogo abierto personalizado o ajuste por código de la vista como detalle o preguntar al usuario a utilizar la vista de detalle

0

Si se refiere a cuando el diálogo está en marcha, lo que sospecho que simplemente el cambio la vista de archivo a detalles. Sin embargo, si te refieres a programáticamente, sospecho que deberías enganchar un mensaje de Windows cuando se seleccione el archivo.

1

Sin interoperabilidad y, como en el primer comentario, una vez que se ha completado el diálogo, es decir, se han seleccionado los archivos, esto daría el tamaño.

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


      } 
     } 

Tamaño del archivo durante el diálogo que siento tendría que usar interoperabilidad

Andrew

Cuestiones relacionadas