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 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çã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 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);