Usando o controle OpenFileDialog no VB.net 2010
Neste artigo vamos entender um pouco o uso do controle OpenFileDialog que faz parte dos controles de Diálogos existentes na caixa de ferramenta da IDE do Visual Studio.
Na figura1 abaixo é mostrado onde podemos encontrar os controles de diálogo (Dialogs), onde podemos observar o OpenFileDialog, o qual usaremos neste artigo.
Usamos o controle OpenFileDialog para localizar e selecionar arquivos em um computador.
Podemos criar um controle OpenFileDialog em tempo de projeto arrastando o controle da caixa de ferramentas e soltando no formulário Windows Forms.
Entendendo as propriedades do controle OpenFileDialog
Depois de incluir o controle no formulário podemos definir as propriedades do controle na janela de propriedades.Vejamos a seguir as principais propriedades deste controle
InitialDirectory - Representa o diretório a ser exibido quando a janela de diálogo
aparecer pela primeira vez. Se a propriedade RestoreDirectory for definida como True a caixa de diálogo restaura o diretório atual antes de ser fechada. Ex: openFileDialog1.RestoreDirectory = true;
Title - Usada para definir ou atribuir um título a janela de diálogo: Ex: openFileDialog1.Title = "Localizar Arquivos";
Default Extension - Representa a extensão padrão do arquivo a ser localizado: Ex: openFileDialog1.DefaultExt = "txt";
Filter - Representa o filtro da janela de diálogo que será usado para filtrar o tipo de arquivos a serem carregados durante a localização. O exemplo abaixo exibe somente arquivos com extensão .txt: Ex: openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
FilterIndex - Representa o indíce do filtro atualmetne selecionado na janela de diálogo: Ex:openFileDialog1.FilterIndex = 2;
ChecFileExists - Indica se a janela de diálogo exibirá um aviso se o usuário especificar um nome de arquivo inexistente - Ex: openFileDialog1.CheckFileExists = true;
CheckPathExists - Indica se a janela de diálogo exibirá um aviso se o usuário especificar um caminho inexistente - Ex: openFileDialog1.CheckPathExists = true;
FileName - Representa o nome do arquivo selecionado na janela de diálogo. Ex: textBox1.Text = openFileDialog1.FileName;
MultiSelect - Se esta
propriedade for definida como True pode-se selecionar mais de um arquivo e
FileNames representará todos ReadyOnlyChecked - Indica se a caixa de verificação estará selecionada: Ex: openFileDialog1.ReadOnlyChecked = true;
ShowReadyOnly - Indica se a caiaxa de verificação read-only estará disponível ou não. Ex: openFileDialog1.ReadOnlyChecked = true; |
Para entender melhor o uso do OpenFileDialog crie uma aplicação Windows Forms, no Form1 inclua os seguintes controles:
OpenFileDialog - Name= ofd1;
TextBox - Name = txtArquivos
Button - Name = btnSelecionarArquivos
O Form1 deverá possuir o seguinte layout
|
Vamos definir os namespaces usados no projeto conforme abaixo:
imports System
imports System.IO
imports System.Security
A seguir no evento Click do botão de comando - btnSelecionarArquivos - inclua o código abaixo:
Private Sub BtnProcurar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelecionarAquivos.Click
'define as propriedades do controle
'OpenFileDialog
Me.ofd1.Multiselect = True
Me.ofd1.Title = "Selecionar Arquivos"
ofd1.InitialDirectory = "C:\"
'filtra para exibir somente arquivos de imagens
ofd1.Filter = "Texts (*.txt;*.csv)|*.txt;*.csv|" & "All files (*.*)|*.*"
ofd1.CheckFileExists = True
ofd1.CheckPathExists = True
ofd1.FilterIndex = 2
ofd1.RestoreDirectory = True
ofd1.ReadOnlyChecked = True
ofd1.ShowReadOnly = True
Dim dr As DialogResult = Me.ofd1.ShowDialog()
If dr = System.Windows.Forms.DialogResult.OK Then
' Le os arquivos selecionados
For Each arquivo As [String] In ofd1.FileNames
txtArquivos.Text += arquivo & vbNewLine
Try
' Aqui fica o que deve ser executado com os arquivos selecionados.
Catch ex As SecurityException
' O usuário não possui permissão para ler arquivos
MessageBox.Show((("Erro de segurança Contate o administrador de segurança da rede." & vbLf & vbLf & "Mensagem : ") + ex.Message & vbLf & vbLf & "Detalhes (enviar ao suporte):" & vbLf & vbLf) + ex.StackTrace)
Catch ex As Exception
' Não pode carregar o arquivo (problemas de permissão)
MessageBox.Show(("Não é possível exibir a imagem : " & arquivo.Substring(arquivo.LastIndexOf("\"c))))
End Try
Next
End If
End Sub
Executando o projeto e clicando no botão procurar veremos o seguinte resultado:
Podemos concluir que o uso do OpenFileDialog é bastante útil quando necessitamos criar uma aplicação onde precisamos selecionar algum tipo de arquivo ou até mesmo em uma função de backup.