Como: Abra arquivos usando o componente OpenFileDialog

O OpenFileDialog componente permite que os usuários naveguem de pastas do seu computador ou qualquer computador na rede e selecione um ou mais arquivos para abrir. A caixa de diálogo retorna o caminho e o nome do arquivo que o usuário selecionado na caixa de diálogo.

Depois que o usuário tiver selecionado o arquivo a ser aberto, existem duas abordagens para o mecanismo de abrir o arquivo. Se você preferir trabalhar com fluxos de arquivo, você pode criar uma instância de StreamReader classe. Como alternativa, você pode usar o OpenFile método para abrir o arquivo selecionado.

Primeiro exemplo envolve um FileIOPermission a seleção de permissão (conforme descrito em "Observação de segurança" abaixo), mas lhe dá acesso ao nome do arquivo. Você pode usar essa técnica de regiões de máquina Local, Intranet e Internet. O segundo método também faz uma FileIOPermission permissão verificar, mas é mais adequada para aplicativos em zonas de Intranet ou Internet.

Para abrir um arquivo como um fluxo usando o componente OpenFileDialog

  • Exibição de Abrir o arquivo caixa de diálogo e chamada de um método para abrir o arquivo selecionado pelo usuário.

    Uma abordagem é usar o ShowDialog método para exibir a caixa de diálogo Abrir arquivo e usar uma instância de StreamReader classe para abrir o arquivo.

    O exemplo abaixo usa o Button do controle Click o manipulador de eventos para abrir uma instância da OpenFileDialog componente. Quando um arquivo é escolhido e o usuário clica em OK, o arquivo selecionado na caixa de diálogo é aberta. Nesse caso, o conteúdo é exibido em uma caixa de mensagem, apenas para mostrar o fluxo de arquivo foi lido.

    Observação de segurançaObservação sobre segurança

    Para obter ou definir o FileName propriedade, o assembly requer um nível de privilégio concedido pela System.Security.Permissions.FileIOPermission classe. Se você estiver executando em um contexto parcialmente confiável, o código pode lançar uma exceção devido a privilégios insuficientes. Para obter mais informações, consulte Code Access Security Basics.

    O exemplo supõe que o formulário tem um Button controle e um OpenFileDialog componente.

    Private Sub Button1_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
       If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
         Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName)
         MessageBox.Show(sr.ReadToEnd)
         sr.Close()
       End If
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e)
    {
       if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
       {
          System.IO.StreamReader sr = new 
             System.IO.StreamReader(openFileDialog1.FileName);
          MessageBox.Show(sr.ReadToEnd());
          sr.Close();
       }
    }
    
    private:
       void button1_Click(System::Object ^ sender,
          System::EventArgs ^ e)
       {
          if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
          {
             System::IO::StreamReader ^ sr = gcnew
                System::IO::StreamReader(openFileDialog1->FileName);
             MessageBox::Show(sr->ReadToEnd());
             sr->Close();
          }
       }
    

    (Visual C# e Visual C++) coloque o seguinte código no construtor do formulário para registrar o manipulador de eventos.

    this.button1.Click += new System.EventHandler(this.button1_Click);
    
    this->button1->Click += gcnew
       System::EventHandler(this, &Form1::button1_Click);
    
    ObservaçãoObservação

    Para obter mais informações sobre leitura de fluxos de arquivo, consulte O método de FileStream.BeginRead e O método de FileStream.Read.

Para abrir um arquivo como um arquivo usando o componente OpenFileDialog

  • Use o ShowDialog método para exibir a caixa de diálogo e o OpenFile método para abrir o arquivo.

    O OpenFileDialog do componente OpenFile método retorna os bytes que compõem o arquivo. Esses bytes lhe oferece um fluxo de ler. No exemplo abaixo, um OpenFileDialog componente for instanciado com um "cursor" o filtro, permitindo que o usuário escolha somente os arquivos com a extensão de nome de arquivo .cur. Se um .cur arquivo é escolhido, o cursor do formulário é definido para o cursor selecionado.

    Observação de segurançaObservação sobre segurança

    Para chamar o OpenFile método, o assembly requer um nível de privilégio concedido pela System.Security.Permissions.FileIOPermission classe. Se você estiver executando em um contexto parcialmente confiável, o código pode lançar uma exceção devido a privilégios insuficientes. Para obter mais informações, consulte Code Access Security Basics.

    O exemplo supõe que o formulário tem um Button de controle.

    Private Sub Button1_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
       ' Displays an OpenFileDialog so the user can select a Cursor.
       Dim openFileDialog1 As New OpenFileDialog()
       openFileDialog1.Filter = "Cursor Files|*.cur"
       openFileDialog1.Title = "Select a Cursor File"
    
       ' Show the Dialog.
       ' If the user clicked OK in the dialog and 
       ' a .CUR file was selected, open it.
       If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
         ' Assign the cursor in the Stream to the Form's Cursor property.
         Me.Cursor = New Cursor(openFileDialog1.OpenFile())
       End If
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e)
    {
       // Displays an OpenFileDialog so the user can select a Cursor.
       OpenFileDialog openFileDialog1 = new OpenFileDialog();
       openFileDialog1.Filter = "Cursor Files|*.cur";
       openFileDialog1.Title = "Select a Cursor File";
    
       // Show the Dialog.
       // If the user clicked OK in the dialog and
       // a .CUR file was selected, open it.
        if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
       {
          // Assign the cursor in the Stream to the Form's Cursor property.
          this.Cursor = new Cursor(openFileDialog1.OpenFile());
       }
    }
    
    private:
       void button1_Click(System::Object ^ sender,
          System::EventArgs ^ e)
       {
          // Displays an OpenFileDialog so the user can select a Cursor.
          OpenFileDialog ^ openFileDialog1 = new OpenFileDialog();
          openFileDialog1->Filter = "Cursor Files|*.cur";
          openFileDialog1->Title = "Select a Cursor File";
    
          // Show the Dialog.
          // If the user clicked OK in the dialog and
          // a .CUR file was selected, open it.
          if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
          {
             // Assign the cursor in the Stream to
             // the Form's Cursor property.
             this->Cursor = gcnew
                System::Windows::Forms::Cursor(
                openFileDialog1->OpenFile());
          }
       }
    

    (Visual C# e Visual C++) coloque o seguinte código no construtor do formulário para registrar o manipulador de eventos.

    this.button1.Click += new System.EventHandler(this.button1_Click);
    
    this->button1->Click += gcnew
       System::EventHandler(this, &Form1::button1_Click);
    

Consulte também

Referência

OpenFileDialog

Outros recursos

OpenFileDialog Component (Windows Forms)