2009-09-14 10 views
5

Quiero diseñar un programa que contenga el botón examinar, donde podemos buscar la carpeta seleccionada y abrir el archivo dentro de la carpeta.Cómo buscar la carpeta

Necesito una referencia y leer donde puedo resolver mis problemas? Me gusta qué métodos/clase debo usar. No me gusta leer de MSDN porque me resulta difícil entender sus teorías. FYI todavía soy principiante en C#.

Muchas gracias

P/s: Aquí hay código que he encontrado de Internet en donde puedes ver/crear una nueva carpeta. Pero no sé por qué se utiliza Shell32.dll ..

private void button1_Click(object sender, EventArgs e) 
{ 
    string strPath; 
    string strCaption = "Select a Directory and folder."; 
    DialogResult dlgResult; 
    Shell32.ShellClass shl = new Shell32.ShellClass(); 
    Shell32.Folder2 fld = (Shell32.Folder2)shl.BrowseForFolder(0, strCaption, 0, 
     System.Reflection.Missing.Value); 
    if (fld == null) 
    { 
     dlgResult = DialogResult.Cancel; 
    } 
    else 
    { 
     strPath = fld.Self.Path; 
     dlgResult = DialogResult.OK; 
    } 
} 
+6

Para el registro: No queriendo leer documentos de MSDN en el desarrollo para Windows o .NET es lo peor que puede hacer. MSDN cubre absolutamente todo Windows y .NET. Más importante aún, también te dice lo que no debes hacer, lo cual puede ser especialmente importante para ti, ya que eres un principiante. Si no está seguro de dónde buscar en MSDN, use Google (o Bing) para buscar en MSDN. Estoy seguro de que hay una muestra para esto en MSDN que Google habría encontrado para ti. – OregonGhost

+0

Me doy cuenta de eso, pero el problema es que estoy autoaprendiendo, hay explicaciones que no pude entender. Entonces es por eso que necesito depender de los otros recursos. ¡Gracias por el consejo! – user147685

+1

Sigue leyendo hasta que entiendas. MSDN es tu mejor amigo. – banging

Respuesta

9

de msdn

private void button1_Click(object sender, System.EventArgs e) 
{ 
    Stream myStream = null; 
    OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

    openFileDialog1.InitialDirectory = "c:\\" ; 
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; 
    openFileDialog1.FilterIndex = 2 ; 
    openFileDialog1.RestoreDirectory = true ; 

    if(openFileDialog1.ShowDialog() == DialogResult.OK) 
    { 
     try 
     { 
      if ((myStream = openFileDialog1.OpenFile()) != null) 
      { 
       using (myStream) 
       { 
        // Insert code to read the stream here. 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); 
     } 
    } 
} 
+1

prefiera también circundar OpenFileDialog openFileDialog1 = new OpenFileDialog(); con el uso de etiquetas – RvdK

+0

Stream myStream = null; el 'Flujo' se refiere a qué clase o referencia? – user147685

+0

+1 para el enlace de MSDN – banging

0

Para insertar la ruta del archivo de clic de botón denominado "Browse_Button" con el nombre del archivo en el cuadro de texto denominado "ARfilePath "el código anterior se modificará como:

private void Browse_Button_Click(object sender, EventArgs e) 
    { 
     Stream myStream = null; 
     OpenFileDialog openFileDialog1 = new OpenFileDialog(); 

     openFileDialog1.InitialDirectory = "c:\\"; 
     openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; 
     openFileDialog1.FilterIndex = 2; 
     //openFileDialog1.RestoreDirectory = true; 
     Boolean FileExist=openFileDialog1.CheckFileExists; 
     Boolean PathExist=openFileDialog1.CheckPathExists; 
     openFileDialog1.FileName = null; 
     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      try 
      { 
       if ((myStream = openFileDialog1.OpenFile()) != null) 
       { 
        using (myStream) 
        { 
         if (FileExist == true && PathExist == true) 
         { 
          // Insert code to read the stream here. 
          string Pathname = openFileDialog1.FileName; 
          ARfilePath.Text = Pathname; 
          ARfilePath.Enabled = false; 
          /*DISABLED SO THAT THE USER CANNOT MAKE UNNECESSARY CHANGES IN THE FIELD*/ 
         } 
        } 
       } 
      } 
      catch (Exception ex) 
      { 

       /*SHOW ERRORS TO USER*/ error_label.Text = "Error: Could not read file from disk. Original error: " + ex.Message; 

       //MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); 
      } 
     } 
    } 
1

de arrastre caja de herramientas de un componente FolderBrowserDialog a su forma y nombre que FolderBrowserDialog. En su controlador de eventos botón de exploración, escriba el siguiente código.

private void btnBrowseBackupLocation_Click(object sender, EventArgs e) 
    { 
     DialogResult result = folderBrowserDialog.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      txtboxBackupLocation.Text = folderBrowserDialog.SelectedPath; 
     } 
    } 
3
  string folderpath = ""; 
      FolderBrowserDialog fbd = new FolderBrowserDialog(); 

      fbd.ShowNewFolderButton = false; 
      fbd.RootFolder = System.Environment.SpecialFolder.MyComputer; 
      DialogResult dr = fbd.ShowDialog(); 

      if (dr == DialogResult.OK) 
      { 
       folderpath = fbd.SelectedPath; 
      } 

      if (folderpath != "") 
      { 
       txtBoxPath.Text = folderpath; 
      } 
Cuestiones relacionadas