Menus
Na sequência falarei sobre várias ferramentas importantes do Visual C# e, para que aproveitemos os exemplos e possamos deixar tudo mais próximo de um software funcional, vamos imaginar a partir de agora que precisamos criar um programa para cadastro de clientes, que nos acompanhará por todo o restante do minicurso.
Vamos criar um novo projeto vazio e renomear o formulário inicial para frmPrincipal, alterando sua propriedade (Name), conforme ilustra a figura abaixo:
Agora vamos adicionar um menu através da ferramenta MenuStrip, arrastando-a para o formulário frmPrincipal. Após este procedimento deveremos ter um formulário como a imagem abaixo ilustra:
Vou criar uma estrutura simples, com dois menus principais, que serão:
Funções e Sobre o Programa
O menu de Funções terá os seguintes submenus:
Cliente
Sair
O submenu Cliente terá outro nível de submenus, contendo:
Cadastrar
Alterar
Remover
Para criar, tanto os menus quanto os submenus, basta ir clicando onde gostaria que a nova opção fosse criada. É bastante simples. A figura abaixo ilustra este exemplo:
Feito isso, veremos como vincular um comando C# a um menu. Vamos começar pelo mais simples dos comandos para manipulação de formulários, que é Close(). Clicando duas vezes sobre qualquer um dos menus o Visual C# criará um método associado a ele, exatamente como acontece com botões, por exemplo. Vamos clicar duas vezes no menu "Sair". Surgirá uma tela como a seguinte:
Agora, dentro desta função, vamos adicionar o comando Close();
Agora execute a aplicação e teste a opção Sair.
O programa deverá ser encerrado.
Criando um novo formulário
Vamos partir para o segundo formulário, que é o de cadastro do cliente.
Para isso basta clicar, com o botão direito do mouse no título da aplicação, dentro do Solution Explorer, conforme figura abaixo:
Na tela seguinte, selecione Windows Form e clique em Add.
Renomeie o novo formulário para frmCadastroCliente.
Agora insira componentes Labels, Textboxes e Button até que ele fique como a imagem abaixo:
Os nomes que dei aos componentes, seguindo a Notação Húngara, foram:
txtNome
txtRua
txtBairro
txtNumero
txtCidade
cboEstado
txtEmail
txtDataNascimento
btnSalvar
Vale destacar que o campo de Estados não é um TextBox, mas sim um ComboBox.
Aproveitando que estamos falando em ComboBox, vamos popula-lo com os Estados Brasileiros. Clicando duas vezes na barra de título (imagem abaixo), criamos o método Load do formulário, que é executado sempre que este for carregado.
Acima temos a barra de título em destaque e, clicando nela criamos o método Load, que pode ser visto abaixo:
Dentro dele colocaremos os comandos que irão popular o ComboBox de Estados. Abaixo colocarei os comandos para ilustração e, abaixo deles você pode abrir uma janela pop-up e copiar o código:
cboEstado.Items.Add("AC");
cboEstado.Items.Add("AL");
cboEstado.Items.Add("AM");
cboEstado.Items.Add("AP");
cboEstado.Items.Add("BA");
cboEstado.Items.Add("CE");
cboEstado.Items.Add("DF");
cboEstado.Items.Add("ES");
cboEstado.Items.Add("GO");
cboEstado.Items.Add("MA");
cboEstado.Items.Add("MG");
cboEstado.Items.Add("MS");
cboEstado.Items.Add("MT");
cboEstado.Items.Add("PA");
cboEstado.Items.Add("PB");
cboEstado.Items.Add("PE");
cboEstado.Items.Add("PI");
cboEstado.Items.Add("PR");
cboEstado.Items.Add("RJ");
cboEstado.Items.Add("RN");
cboEstado.Items.Add("RO");
cboEstado.Items.Add("RR");
cboEstado.Items.Add("RS");
cboEstado.Items.Add("SC");
cboEstado.Items.Add("SE");
cboEstado.Items.Add("SP");
cboEstado.Items.Add("TO");
Abrir janela com código copiável
Com isso encerramos este formulário, por enquanto. Claro que o botão btnSalvar, que é o mais importante, ainda não tem código, mas não nos preocupemos com isso agora.
Vamos criar outro formulário (botão direito no título do programa em Solution Explorer, depois Add, New Item, Windows Form) e chama-lo de frmAlteraCliente.
Agora vamos deixar este formulário como o da imagem abaixo:
Os nomes dos componentes relevantes presentes aí são txtNomeCadastro e btnProcurar.
Em seguida vamos criar outro formulário, praticamente idêntico a este, porém com o nome de frmRemoveCliente.
Os nomes dos componentes relevantes para o frmRemoveCliente são txtNomeCadastroRemocao e btnRemover.
Para encerrar a criação de formulários, vamos criar um chamado frmSobre, que por enquanto ficará em branco.
Abrindo formulários a partir de menus em C#
Agora vamos começar a fazer a vinculação dos formulários criados com o menu, que é, de fato, o foco deste tópico. Vamos iniciar com dois cliques no menu "Cadastrar", que criará a função cadastrarToolStripMenuItem_Click. Dentro dela vamos criar o seguinte código:
frmCadastroCliente fcc = new frmCadastroCliente();
fcc.ShowDialog();
Comentando o código, teremos:
Agora vamos executar o código e clicar no menu Cadastrar.
Aí está o nosso formulário de cadastro devidamente vinculado ao menu "Cadastrar".
Agora vamos repetir o procedimento para os formulários:
De Alteração:
De Remoção:
E o formulário Sobre o Programa:
Pronto! Com isso vinculamos todos os formulários deste pequeno aplicativo de exemplo aos seus respectivos menus.
No próximo tópico continuaremos trabalhando neste exemplo com a ferramenta Tooltip.