Partilhar via


Tutorial: Personalizar um aplicativo WinForms de questionário de matemática

Nesta série de quatro tutoriais, você criará um questionário de matemática. O teste contém quatro problemas matemáticos aleatórios que um participante do questionário tenta responder dentro de um tempo especificado.

Este tutorial mostra como melhorar seu teste limpando os valores padrão e personalizando a aparência dos controles.

Neste tutorial final, você aprenderá a:

  • Adicione manipuladores de eventos para limpar os valores de controle NumericUpDown padrão.
  • Personalize o questionário.

Pré-requisitos

Este tutorial baseia-se em tutoriais anteriores, começando com "Criar uma aplicação WinForms de questionário de matemática". Se você não concluiu esses tutoriais, analise-os primeiro.

Adicionar manipuladores de eventos para os controles NumericUpDown

O teste contém NumericUpDown controles que os participantes do questionário usam para inserir números. Ao inserir uma resposta, você precisa selecionar o valor padrão primeiro ou excluí-lo manualmente. Ao adicionar um manipulador de eventos Enter, você pode facilitar a inserção de respostas. Esse código seleciona e limpa o valor atual em cada controle NumericUpDown assim que o participante do questionário o seleciona e começa a inserir um valor diferente.

  1. Selecione o primeiro controle NumericUpDown no formulário. Na caixa de diálogo Propriedades, selecione o ícone Eventos na barra de ferramentas.

    Captura de tela que mostra a barra de ferramentas da caixa de diálogo Propriedades. Um ícone que contém um raio está destacado.

    A guia Eventos em Propriedades exibe todos os eventos aos quais pode responder para o item selecionado no formulário. Nesse caso, todos os eventos listados pertencem ao controle NumericUpDown.

  2. Selecione Enter, insira answer_Entere depois selecione Enter.

    Captura de tela que mostra a caixa de diálogo Propriedades com o evento Enter selecionado. A caixa do método contém answer_Enter.

    O editor de código aparece e exibe o manipulador de eventos Enter que você criou para a soma controle NumericUpDown.

  3. No método para o manipulador de eventos answer_Enter, adicione o seguinte código:

    private void answer_Enter(object sender, EventArgs e)
    {
        // Select the whole answer in the NumericUpDown control.
        NumericUpDown answerBox = sender as NumericUpDown;
    
        if (answerBox != null)
        {
            int lengthOfAnswer = answerBox.Value.ToString().Length;
            answerBox.Select(0, lengthOfAnswer);
        }
    }
    

Neste código:

  • A primeira linha declara o método. Ele inclui um parâmetro chamado sender. Em C#, o parâmetro é object sender. No Visual Basic, é sender As System.Object. Este parâmetro refere-se ao objeto cujo evento está disparando, que é conhecido como o remetente. Nesse caso, o objeto remetente é o controle NumericUpDown.
  • A primeira linha dentro do método converte, ou converte, o remetente de um objeto genérico para um controle NumericUpDown. Essa linha também atribui ao controle NumericUpDown o nome answerBox. 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 para o 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 dispara esse evento. Este código seleciona a resposta atual. Assim que o participante do questionário começa a inserir uma resposta diferente, a resposta atual é limpa e substituída pela nova resposta.

  1. Em Windows Forms Designer, selecione novamente o controlo NumericUpDown associado ao problema de adição.

  2. Na página Eventos da caixa de diálogo Propriedades, localize o evento Clique e, em seguida, selecione answer_Enter no menu suspenso. Este manipulador de eventos é aquele que você acabou de adicionar.

  3. No Windows Forms Designer, selecione o controle NumericUpDown do problema de subtração.

  4. Na página Eventos da caixa de diálogo Propriedades, localize o evento Enter e, em seguida, selecione answer_Enter no menu suspenso. Este manipulador de eventos é aquele que você acabou de adicionar. Repita esta etapa para o evento Clique.

  5. Repita as duas etapas anteriores para os controles NumericUpDown de multiplicação e divisão.

Executar seu aplicativo

  1. Salve seu programa e execute-o.

  2. Inicie um teste e selecione um controle NumericUpDown. O valor existente é selecionado automaticamente e, em seguida, limpo quando você começa a inserir um valor diferente.

    Captura de tela que mostra o aplicativo de questionário com quatro problemas matemáticos aleatórios. A resposta padrão para o primeiro problema é selecionada.

Personalize o seu questionário

Nesta última parte do tutorial, você explorará algumas maneiras de personalizar o questionário e expandir o que aprendeu.

Alterar a cor de uma etiqueta

  • Use a propriedade BackColor do controle timeLabel para tornar esse rótulo vermelho quando restarem apenas cinco segundos em um teste.

    timeLabel.BackColor = Color.Red;
    
  • Redefina a cor quando o teste terminar.

Reproduzir um som para obter uma resposta correta

Dê uma dica ao participante do questionário tocando um som quando a resposta correta for inserida em um controle NumericUpDown. Para implementar essa funcionalidade, escreva um manipulador de eventos para cada evento ValueChanged do controle. Esse tipo de evento é acionado sempre que um participante do questionário altera o valor do controle.

Próximos passos

Parabéns;! Você terminou esta série de tutoriais. Você concluiu estas tarefas de programação e design no IDE do Visual Studio:

  • Criado um projeto do Visual Studio que usa o Windows Forms
  • Adicionados rótulos, um botão e controlos NumericUpDown
  • Adicionado um temporizador
  • Configurar manipuladores de eventos para seus controles
  • Código escrito em C# ou Visual Basic para manipular os eventos

Continue a aprender com outra série de tutoriais sobre como criar um jogo de pareamento.