Conhecendo as caixas de diálogo padrão do .NET Framework

Veja neste artigo quais são os principais componentes nativos que permitem a exibição de caixas de diálogo, fornecidos pelo Visual Studio. Muitas vezes, até por não costumarem utilizá-los, programadores com um pouco mais de experiência desconhecem as funcionalidades destes componentes. Na Toolbox do Visual Studio, no grupo Dialogs, existem nativamente cinco componentes: ColorDialog, FolderBrowserDialog, FontDialog, OpenFileDialog e SaveFileDialog.

É comum que muitos programadores que estão iniciando no .NET Framework tenham dificuldade com a utilização das caixas de diálogo padrão disponíveis no Visual Studio. Muitas vezes, até por não costumarem utilizá-los, programadores com um pouco mais de experiência desconhecem as funcionalidades destes componentes.

Na Toolbox do Visual Studio, no grupo Dialogs, existem nativamente cinco componentes, como podemos ver na Figura 1: ColorDialog, FolderBrowserDialog, FontDialog, OpenFileDialog e SaveFileDialog.


Figura 1: Grupo Dialogs da Toolbox

Neste artigo, veremos algumas das principais propriedades de cada um desses componentes e sua utilização, através de um exemplo prático nas linguagens C# e Visual Basic.

Então, para iniciar, criemos uma aplicação de formulários Windows (Windows Forms Application) e adicionemos ao form principal os seguintes componentes, mantendo sua nomenclatura original:


No meu caso, a aparência do form ficou como na Figura 2, mas o leitor pode organizar os controles da forma como preferir.


Figura 2: Configuração de componentes o form

Cada um dos botões será utilizado para demonstrar o funcionamento de um dos componentes de diálogo citados, conforme indica seu texto. Então, as listagens a seguir mostram o código que deve ser adicionado ao evento Click de cada botão.

ColorDialog

Este componente permite exibir uma caixa de seleção de cores. Algumas propriedades merecem destaque:


As listagem 1 e 2 mostra como alterar a cor do plano de fundo do RichTextBox utilizando este componente. O código das listagens deve ser inserido no evento Click do primeiro botão.

Listagem 1: Utilização do ColorDialog em C#

if (colorDialog1.ShowDialog() == DialogResult.OK) { richTextBox1.BackColor = colorDialog1.Color; }

Listagem 2: Utilização do ColorDialog em Visual Basic

If colorDialog1.ShowDialog = DialogResult.OK Then richTextBox1.BackColor = colorDialog1.Color End If

É necessária fazer a verificação do resultado do método ShowDialog pois a cor do RichTextBox só deve ser alterada se o usuário clicar em Ok. Caso o botão Cancelar fosse clicado, o retorno do método seria DialogResult.Cancel.

FontDialog

Do nome do componente, já depreende-se que ele é usado para exibir uma janela de seleção de fontes. As propriedades mais utilizadas e que, portanto merecem destaque são:


As listagens 3 e 4 mostram como utilizar este componente para alterar a fonte do RichTextBox em tempo de execução.

Listagem 3: Utilização do FontDialog em C#

if (fontDialog1.ShowDialog() == DialogResult.OK) { richTextBox1.Font = fontDialog1.Font; }

Listagem 4: Utilização do FontDialog em Visual Basic

If fontDialog1.ShowDialog = DialogResult.OK Then richTextBox1.Font = fontDialog1.Font End If

A mesma verificação é feita quanto ao retorno do método ShowDialog, isso deve se repetir para os demais componentes, sempre pelo mesmo motivo.

FolderBrowserDialog

O FolderBrowserDialog exibe uma janela de seleção de diretórios. Arquivos não podem ser selecionados por este componente, apenas pastas. As propriedades que merecem destaque são as listadas a seguir.


As listagens 5 e 6 mostram como listar os arquivos de um diretório utilizando este componente.

Listagem 5: Utilização do FolderBrowserDialog em C#

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { richTextBox1.Text = String.Empty; string pasta = folderBrowserDialog1.SelectedPath; foreach (string s in System.IO.Directory.GetFiles(pasta)) { richTextBox1.AppendText(s + Environment.NewLine); } }

Listagem 6: Utilização do FolderBrowserDialog em Visual Basic

If folderBrowserDialog1.ShowDialog = DialogResult.OK Then richTextBox1.Text = String.Empty Dim pasta As String = folderBrowserDialog1.SelectedPath For Each s As String In System.IO.Directory.GetFiles(pasta) richTextBox1.AppendText(s + Environment.NewLine) Next End If

Nos códigos acima foi utilizado o método GetFiles da classe Directory, cuja explicação não é o foco deste artigo. Porém, a principal parte desse trecho é a execução do diálogo e obtenção da pasta selecionada através da propriedade SelectedPath.

OpenFileDialog

Esta caixa de diálogo é utilizada para selecionar um arquivo existente. As propriedade mais utilizadas são as seguintes.


As listagens 7 e 8 mostram como abrir um arquivo e exibi-lo no RichTextBox utilizando o OpenFileDialog.

Listagem 7: Utilização do OpenFileDialog em C#

if (openFileDialog1.ShowDialog() == DialogResult.OK) { richTextBox1.LoadFile(openFileDialog1.FileName); }

Listagem 8: Utilização do OpenFileDialog em Visual Basic

If openFileDialog1.ShowDialog = DialogResult.OK Then richTextBox1.LoadFile(openFileDialog1.FileName) End If

Por padrão, o método LoadFile do RichTextBox só permite a leitura de arquivos de extensão RTF. Como o foco deste arquivo não é o carregamento e exibição de arquivos de texto, utilizaremos apenas este exemplo.

Caso a propriedade MultiSelect estivesse marcada como verdadeira, deveríamos utilizar a propriedade FileNames no lugar de FileName para ler os vários arquivos selecionados.

SaveFileDialog

Este último componente é utilizado para se trabalhar com gravação de arquivos (salvar). Suas propriedades são, em maioria, iguais a do OpenFileDialog, apenas uma merece atenção diferenciada.


Um exemplo de utilização deste componente para salvar o conteúdo do RichTextBox é mostrado nas listagens 9 e 10.

Listagem 9: Utilização do SaveFileDialog em C#

if (saveFileDialog1.ShowDialog() == DialogResult.OK) { richTextBox1.SaveFile(saveFileDialog1.FileName); }

Listagem 10: Utilização do SaveFileDialog em Visual Basic

If saveFileDialog1.ShowDialog = DialogResult.OK Then richTextBox1.SaveFile(saveFileDialog1.FileName) End If

Para tornar mais prática a execução deste exemplo, podemos definir a propriedade Filter do SaveFileDialog como “Arquivo RTF|*.rtf”. Assim, a extensão rtf será selecionada como padrão.

Conclusão

Vimos neste artigo que não é uma tarefa complexa utilizar as caixas de diálogo padrão disponíveis no Visual Studio, conhecemos suas principais propriedades e exemplos práticos de uso.

Espero que este conteúdo possa ser útil. Agradeço a atenção do leitor e por aqui me despeço.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados