INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS NATAL - CENTRAL
DIRETORIA DE EDUCAÇÃO E TECNOLOGIA DA INFORMAÇÃO
Av. Sen. Salgado Filho, 1559, Natal/RN, 59015-000. Fone/FAX (084) 4005-2637 E-mail: dietinf@ifrn.edu.br - Site: http://www.ifrn.edu.br/dietinf
Apostila: Programação Visual com Windows Forms (C#) Professor: Fabiano Papaiz
Windows Forms Applications - Interface MDI – parte 2
Agora vamos implementar o código para ler e gravar arquivos de texto no formato Rich Text (*.rtf) em nossos formulários filhos.
Para carregar nossos textos, usaremos o componente RichTextBox. Ele faz tudo o que um TextBox faz, mas com ele também podemos alterar a fonte e cor do texto, exibir imagens, pesquisar por palavras etc.
Primeiro vamos inserir um componente RichTextBox no formulário filho e atribuir sua propriedade Name para rchEditor. Para deixarmos este componente ocupando toda a área do
formulário, basta alterarmos a sua propriedade Dock para Fill, como exibido na figura:
OBS: a propriedade Dock permite que fixemos um componente em alguma das bordas do formulário (esquerda, direita, superior ou inferior) – ou ainda a todas elas ao mesmo tempo (Fill). Esta proprieade está presente na maioria dos componentes visuais.
Abra o aplicativo WordPad, escreva nele o texto da figura abaixo e salve-o em alguma pasta com o nome texto1.rtf.
2 No nosso formulário filho precisaremos de um método que será responsável por pedir para o usuário selecionar um arquivo .rtf e exibí-lo.
Criaremos o método abrirArquivo() com o seguinte código:
Agora vamos inserir código abaixo no evento Click do menu 'Abrir' (mnuAbrir), do formulário principal:
Teste sua aplicação abrindo o arquivo texto1.rtf criado anteriormente.
Isto é tudo! Nossa aplicação já permite abrir e exibir um arquivo texto.
4 Agora vamos inserir a opção de salvar o arquivo aberto.
Primeiro vamos inserir a opção 'Salvar', no menu do formulário principal (insira-o antes do menu 'Fechar'). Para fazer isso, basta clicar com o botão direito em cima do menu 'Fechar' e escolher a opção Insert / MenuItem. Depois é só digitar o texto do menu e atribuir seu Name como
mnuSalvar. Veja na figura:
Nosso menu ficará assim:
Vamos criar mais um método, chamado salvarArquivo(), no formulário filho – conforme o código abaixo:
Agora basta criarmos o código no evento Click do menu 'Salvar' do formulário principal. Neste código precisaremos obter o objeto Form ativo (ActiveMdiChild), convertê-lo para
a classe FrmEditorTexto e chamar seu método salvarArquivo().
Veja como:
Perceba que, antes de tudo, verificamos se existe algum formulário filho aberto. Isso é necessário para a aplicação não lançar um erro.
Execute a aplicação, abra o arquivo texto1.rtf, modifique e salve-o.
Agora feche e abra-o novamente para verificar se as modificações foram salvas.
A próxima funcionalidade a ser implementada será a criação de um novo arquivo .rtf.
Para isso, vamos inserir uma variável para indicar ao nosso formulário editor que o arquivo é novo e, ao salvá-lo pela primeira vez, o usuário deverá informar um nome para ele.
Criaremos uma variável privada chamada novo do tipo bool (booleana) atribuindo inicialmente false para o seu valor.
Depois criaremos o método novoArquivo() que, além de exibir o formulário editor, irá atribuir o valor true para a variável novo e atribuir o título do formulário como 'Novo arquivo'.
A seguir está o código necessário:
6
Agora falta alterarmos o método salvarArquivo() para que seja solicitado ao usuário que informe o nome do arquivo caso ele seja um novo texto.
Alteraremos o método para o código a seguir:
Execute sua aplicação e teste-a.
Com isso, nosso editor de texto está finalizado!