NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
3. Editando, Salvando e Abrindo Arquivos Texto
O Exemplo a seguir ilustra a utilização de menus no VB. Para tanto, monte um formulário similar ao abaixo inserindo um componente MenuStrip e um componente Label. Este último exibirá o texto "Visual Basic", terá o nome "LbTexto"
O menu será formado pelos itens "Arquivo" e "Formatar" que, por sua vez, terão submenus. Ao definir a priopriedade Text dos itens do menu, pode-se inserir um "&" antes da letra que deseja-se sublinhar - letras sublinhadas indicam como selecionar o item pelo teclado, através da tecla [Alt] + a tecla sublinhada.
Ao clicar no menu "Arquivo>>Sobre", será aberto um outro formulário. Assim, na janela Solution Explorer, clique no nome do projeto e, com o botão direito, ative um menu popup e selecione os itens "Add>>Windows Form". Na janela aberta, escolha a primeira opção - "Windows Form".
Ainda na janela Solution Explorer, clique sobre os nomes dos formulários ("Form1.vb" e "Form2.vb"), ative o menu popup novamente e renomeie-os para "FormPrincipal.vb" e "FormSobre.vb" respectivamente. Configure o "FormSobre" tal como no exemplo abaixo - use um PictureBox para a imagem e um botão "OK" que, quando for pressionado, fecha tal (Me.Close()).
Volte para o "FormPrincipal" e clique, então, duas vezes sobre o item "Arquivo>>Sobre" e insira no do procedimento aberto o código "FormSobre.Show()". A seguir, clique no item "Arquivo>>Sair" e defina o comando correspondente como no exemplo abaixo.
Com os itens do menu "Formatar" será feito procedimento similar. Clique duas vezes sobre o item "Formatar>>Cor>>Vermelho" e, no procedimento aberto, insira o código "LbTexto.ForeColor = Color.Red" para alterar a cor do texto do "LbTexto" para vermelho. Repita o processo para as demais cores.
Ainda no menu "Formatar", configure os elementos do subitem "Texto" clicando duas vezes sobre cada um e definindo os códigos tal como abaixo.
Rode o programa a fim de visualizar o resultado e interagir com o mesmo.
Ainda no exemplo anterior, vamos configurar um menu do tipo PopUp, o qual é ativado pelo clique com o botão direito do mouse sobre o formulário. Para tanto, insira um ContextMenuStrip e coloque a opção "Resetar" no mesmo.
Clique duas vezes sobre a opção "Resetar" e insira o seguinte código no procedimento aberto:
Assim, a aparência do Label voltará a ser como no início da execução do programa.
No entanto, deve-se, ainda, indicar para o "FormPrincipal" que tal menu PopUp será ativado pelo botão direito do mouse. Selecione, então, o "FormPrincipal" e configure sua propriedade "ContextMenuStrip" indicando o menu "ContextMenuStrip1" recém configurado.
3. Editando, Salvando e Abrindo Arquivos Texto
Vamos alterar o programa anterior de modo que seja possível ao usuário digitar um texto, salvar este e abrí-lo em outro momento.
Aumente o tamanho da interface do "FormPrincipal" e insira um componente do tipo RichTextBox mudando seu nome para "RTBTexto".No menu "Arquivo", insira o novo item "Salvar" (caso você prefira que esta opção venha antes da opção "Sair", basta arrastar "Salvar" para a posição anterior à "Sair").
Insira, ainda, um componente SaveFileDialog e nomeie-o como "SFDTexto". Na propriedade Filter deste componente, insira a seguinte definição de extensões aceitas para salvamento de arquivos:
Arquivos Texto (*.txt) | .txt | Arquivos RTF (*.rtf) | .rtf
Clique duas vezes sobre o menu "Arquivo>>Salvar" e, no procedimento aberto, insira o seguinte código:
Neste, declara-se uma variável do tipo string que conterá o nome do arquivo definido pelo usuário na janela de salvamento ("SFDTexto"). Este, é exibida ao usuário através do evento ShowDialog(). Também através do componente "SFDTexto", acessa-se o nome do arquivo definido pelo usuário atribuindo-o à string "nomearq". Tal string é testada a fim de verificar se o nome foi definido corretamente e, caso tenha sido, o texto digitado no "RTBTexto" é salvo; caso contrário, é exibida uma mensagem de erro.
O próximo passo é a definição dos itens "Novo" e "Abrir" do menu. Assim, insira estes tal como na imagem a seguir.
Ao clicar na opção "Novo", será exibida para o usuário uma MsgBox perguntando se ele prefere salvar o texto atual antes de abrir um novo ou não. Caso a resposta seja sim, os mesmos comandos da opção "Salvar" são executados; caso contrário, o "RTBTexto" é limpo e fica a espera da digitação de um novo texto.
Clique, assim, duas vezes sobre a opção "Novo" do menu e, no procedimento aberto, insira o código abaixo. Note que a variável teste está sendo definida com o tipo "DialogResult" relacionado ao evento da MsgBox.
Por fim, insira um componente do tipo OpenFileDialog e nomeie-o para "OFDTexto", defina a propriedade Filter tal como para o componente "SDBTexto" e deixe em branco a propriedade FileName. A seguir, clique duas vezes no menu "Arquivo>>Abrir" e insira o seguinte código no procedimento aberto: