Tutorial: Personalizar um aplicativo WinForms para um teste de matemática
Nesta série de quatro tutoriais, você criará um teste de matemática. O teste contém quatro problemas matemáticos aleatórios que um participante do teste tentará responder em um tempo especificado.
Este tutorial mostra como aprimorar o teste limpando valores padrão e personalizando a aparência dos controles.
Neste tutorial final, você aprenderá a:
- Adicionar manipuladores de eventos para limpar os valores de controle padrão NumericUpDown.
- Personalizar o teste.
Pré-requisitos
Este tutorial se baseia em tutoriais anteriores, começando com Criar um aplicativo WinForms para um teste de matemática. Você precisa concluir esses tutoriais antes, caso ainda não tenha feito.
Adicionar manipuladores de eventos aos controles NumericUpDown
O teste contém os controles NumericUpDown que os participantes do teste usam para inserir números. Ao inserir uma resposta, você precisa primeiro selecionar o valor padrão ou excluir esse valor manualmente. Adicionar um manipulador de eventos Enter pode facilitar a inserção de respostas. Esse código seleciona e desmarca o valor atual em cada controle NumericUpDown para que quem fizer o teste possa escolher e inserir um valor diferente.
Selecione o primeiro controle NumericUpDown no formulário. Na caixa de diálogo Propriedades, selecione o ícone Eventos na barra de ferramentas.
A guia Eventos na caixa de diálogo Propriedades exibe todos os eventos para os quais você pode responder para o item que você selecionou no formulário. Nesse caso, todos os eventos listados pertencem ao controle NumericUpDown.
Selecione o evento Enter, insira answer_Enter e selecione Enter.
O editor de código aparece exibindo o manipulador de eventos Enter que você criou para o controle NumericUpDown de soma.
No método para o manipulador de eventos answer_Enter, adicione o código a seguir:
Importante
Use o controle da linguagem de programação no canto superior direito desta página para exibir os snippets de código C# ou do Visual Basic.
Neste código:
- A primeira linha declara o método. Inclui o parâmetro
sender
. Em C#, o parâmetro éobject sender
. In Visual Basic, ésender As System.Object
. Este parâmetro refere-se ao objeto cujo evento é acionando, que é conhecido como o remetente. Nesse caso, o objeto remetente é o controle NumericUpDown. - A primeira linha dentro do método converte o remetente de um objeto genérico em um controle NumericUpDown. Essa linha também atribui o nome answerBox ao controle NumericUpDown. Todos os controles NumericUpDown no formulário usarão esse método, não apenas o controle do problema de adição.
- A próxima linha verifica se answerBox foi convertido com êxito em um controle NumericUpDown.
- A primeira linha dentro da instrução
if
determina o comprimento da resposta que está atualmente no controle NumericUpDown. - A segunda linha dentro da instrução
if
usa o comprimento da resposta para selecionar o valor atual no controle.
Quando o participante do teste seleciona o controle, o Visual Studio aciona esse evento. Esse código seleciona a resposta atual. Assim que o participante do teste começa a inserir uma resposta diferente, a resposta atual é apagada e substituída pela nova.
No Designer de Formulários do Windows, selecione o controle NumericUpDown do problema de adição novamente.
Na página Eventos da caixa de diálogo Propriedades, localize o evento Clique e selecione answer_Enter no menu suspenso. Esse manipulador de eventos é aquele que você acabou de adicionar.
No Designer de Formulários do Windows, selecione o controle NumericUpDown do problema de subtração.
Na página Eventos da caixa de diálogo Propriedades, localize o evento Enter e selecione answer_Enter no menu suspenso. Esse manipulador de eventos é aquele que você acabou de adicionar. Repita esta etapa para o evento Clique.
Repita as duas etapas anteriores para os controles NumericUpDown de multiplicação e divisão.
Executar o aplicativo
Salve seu programa e o execute.
Inicie um teste e selecione um controle NumericUpDown. O valor existente é automaticamente selecionado e apagado quando você começa a inserir um valor diferente.
Personalizar seus aplicativos
Nesta última parte do tutorial, você explorará algumas maneiras de personalizar o questionário e expandir o que aprendeu.
Alterar a cor de um rótulo
Use a propriedade BackColor do controle timeLabel para tornar esse rótulo vermelho quando restarem apenas mais cinco segundos em um teste.
Redefina a cor quando o teste acabar.
Reproduzir um som para a resposta correta
Dê ao comprador de teste uma dica executando um som quando a resposta correta for inserida em um controle NumericUpDown. Para implementar essa funcionalidade, grave um manipulador de eventos para o evento ValueChanged de cada controle. Esse tipo de evento é acionado sempre que um participante do teste altera o valor do controle.
Próximas etapas
Parabéns! Você terminou esta série de tutoriais. Você concluiu essas tarefas de programação e design no IDE do Visual Studio:
- Criou um projeto do Visual Studio que usa o Windows Forms
- Adicionou rótulos, um botão e controles NumericUpDown
- Adicionou um temporizador
- Configurou manipuladores de eventos para seus controles
- Gravou um código C# ou Visual Basic para manipular os eventos
Continue aprendendo com outras séries de tutoriais sobre como criar um jogo correspondente.