WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE 1. Introdução. Uma Aplicação Windows Forms consiste em programas GRÁFICOS fundamentados no conceito de JANELAS que, no Visual Studio, são tratadas como FORMS. Para criar uma Aplicação Windows Forms escolha esta opção no lugar de Console Application
Note na figura a seguir que o projeto criado já contém uma janela (chamada Form1). A Toolbox contém os elementos gráficos (controles) que podem ser adicionados à janela (form).
Para inserir um determinado elemento gráfico (controle) na janela (form) basta clicar sobre ele e arrastá-lo para o formulário. Arraste o elemento LABEL para o formulário: Os elementos gráficos possuem uma série de PROPRIEDADES que podem ser configuradas/alteradas. Altere a propriedade TEXT do elemento LABEL para Exemplo simples de Aplicação Windows Forms. Altere aqui a TEXT do LABEL A seguir, arraste o Label para a parte central do formulário. Agora clique na barra de título do formulário para selecioná-lo. Altere a propriedade TEXT do formulário para OLA!.
Execute normalmente a aplicação! Veja o resultado (formulário na tela do computador). Faça testes, note que os botões maximizar e minimizar funcionam normalmente (afinal é uma janela Windows). Note também que é possível redimensionar a janela arrastando as bordas. Para fechar o programa, feche a janela clicando no botão correspondente. 2. Formulário e Objetos Básicos Exercício de Aprendizagem Exercício de Aprendizagem: Vamos nos familiarizar com conceitos básicos de formulário e controles construindo uma aplicação para converter temperaturas. A figura a seguir mostra as fórmulas de conversão que o programa deverá realizar. DE PARA FÓRMULA DE CONVERSÃO Celsius Fahrenheit F = C x 1,8 + 32 Fahrenheit Celsius C = (F 32) / 1,8 Celsius Kelvin K = C + 273,15 Kelvin Celsius C = K 273,15 Fahrenheit Kelvin K = (F + 459,67) / 1,8 Kelvin Fahrenheit F = K x 1,8 459,67 a) Criar um novo projeto do tipo Windows Forms Application. b) Defina as seguintes propriedades para o FORMULÁRIO: PROPRIEDADE Name Text StartPosition VALOR ConversaoTemperaturas Conversão de Temperaturas CenterScreen Obs.: a propriedade Name indica o nome (um identificador) do objeto/elemento/controle (neste caso é o nome do formulário, não confunda com a propriedade Text ). O nome (name) deve ser utilizado quando um programa quiser fazer referência a um objeto.
c) Adicione objetos conforme a figura a seguir (você pode arrastar as alças de redimensionamento ou bordas do formulário para aumenta-lo). Obs.: você pode adicionar os 3 labels fazendo 3 x 2 cliques sobre Label. Sugerimos que, primeiramente, você inclua todos os objetos do formulário, fazendo 2 cliques sobre os nomes correspondentes e, depois, configure as propriedades de cada um deles, conforme indicado na figura. Label Label Label TextBox Name = Temperatura ComboBox Name = Opcao Items = Celsius para Fahrenheit Fahrenheit para Celsius Celsius para Kelvin...os outros... Text = Escolha uma opção Button Name = Converter Text = Converter TextBox Name = Resultado ReadOnly = True A aplicação (programa) deve funcionar da seguinte maneira: 1- O usuário preenche o campo Temperatura. 2- O usuário escolhe a conversão desejada. 3- O usuário clica no botão Converter. 4- Neste momento (momento do clique), um programa deve fazer a conversão e apresentar o resultado do cálculo no campo Resultado (conforme a temperatura e a opção de conversão escolhida). Pela descrição acima, podemos concluir que o código indicado no item 4 deve ser executado no EVENTO CLICK do botão Converter, ou seja, quando o botão for clicado. d) Primeiro código do evento click do botão Converter: LER o valor de temperatura digitado pelo usuário e a opção de conversão escolhida (Entrada de Dados) Para digitar o código a ser executado no EVENTO CLICK de um determinado objeto basta dar dois cliques sobre o objeto. O Visual Studio abrirá o local para digitação do código correspondente. Dê dois cliques no botão Converter e inclua o código a seguir.
? private void Converter_Click(object sender, EventArgs e) { double temperaturadigitada; int itemescolhido;? } temperaturadigitada = double.parse(temperatura.text); itemescolhido = Opcao.SelectedIndex;? e) Segundo código do evento click do botão Converter: Fazer o CÁLCULO de conversão da temperatura conforme a opção escolhida pelo usuário (Processamento). Adicione o seguinte código ao evento click. private void Converter_Click(object sender, EventArgs e) { double temperaturadigitada; int itemescolhido; temperaturadigitada = double.parse(temperatura.text); itemescolhido = Opcao.SelectedIndex; // Abaixo o código a ser adicionado: double calculo; } switch (itemescolhido) { case 0: // Celsius para Fahrenheit calculo = temperaturadigitada * 1.8 + 32; case 1: // Fahrenheit para Celsius calculo = (temperaturadigitada - 32) / 1.8; case 2: // Celsius para Kelvin calculo = temperaturadigitada + 273.15; case 3: // Kelvin para Celsius calculo = temperaturadigitada - 273.15; case 4: // Fahrenheit para Kelvin calculo = (temperaturadigitada + 459.67) / 1.8; case 5: // Kelvin para Fahrenheit calculo = temperaturadigitada * 1.8-459.67; default: // Nenhum tipo de conversão selecionado na lista calculo = 0; } Se preferir, use IF / ELSE IF no lugar do SWITCH if (itemescolhido == 0) calculo =... else if (itemescolhido == 1) calculo =......completar... else if (itemescolhido == 5) calculo =... else calculo = 0;
f) Terceiro código do evento click do botão Converter: Para concluir, é necessário exibir o resultado na caixa de texto (textbox) chamada Resultado. Adicione o seguinte código ao evento click (após a instrução switch, claro!).?? Resultado.Text = calculo.tostring(); g) Execute a aplicação, digite uma temperatura, escolha um tipo de conversão, clique no botão Converter e veja o resultado. h) Qual o significado e a função dos cinco fragmentos de código apontados pelas setas. Converter_Click? Temperatura.Text? Opcao.SelectedIndex? Resultado.Text? calculo.tostring()? 3. Exercício de Aprendizagem Parte 2 (comando MessageBox) Experimente executar a aplicação e clicar no botão Converter sem informar uma temperatura (deixar o campo Temperatura vazio). Note que uma mensagem de erro aparece porque o C# não consegue realizar o cálculo de conversão utilizando um valor de temperatura vazio (inexistente/em branco). Exercício: Tente solucionar este problema utilizando o comando IF e o comando que apresenta uma Mensagem na tela para o usuário (comando MessageBox). Dica: MessageBox.Show("Informe a temperatura","atenção",messageboxbuttons.ok, MessageBoxIcon.Stop); Resultado caso o comando seja executado: