Visual – Controles – CheckBox, CheckedChanged, TextBox, Access Keys, Key Preview, HotKeys, Keys Enumeration, KeyDown – C#

Publicado: 12 de março de 2014 em C#

Access Keys

Uma tecla de acesso é um caractere sublinhado no texto de um menu, item de menu, ou o rótulo de um controle como um botão. Ele permite o usuário “clicar” em um botão, pressionando a tecla ALT em combinação com a tecla de acesso predefinido. Por exemplo, se um botão executa um procedimento para imprimir um formulário, e, portanto, sua propriedade Text é definido como “Imprimir”, acrescentando um e comercial antes da letra “i” faz com que a letra “i”, seja sublinhada no texto do botão em tempo de execução tempo. O usuário pode executar o comando associado ao botão pressionando ALT + I. Você não pode ter uma chave de acesso para um controle que não pode receber o foco, por exemplo, um controle TabPage.

CheckBox

Representa um CheckBox do Windows

CheckedChanged

Ocorre quando o valor da propriedade Checked muda entre postagens para o servidor.

TextBox

Representa um controle de caixa de texto do Windows.

KeyPreview

Obtém ou define um valor indicando se o formulário receberá eventos de teclas antes do evento ser passado para o controle que tem o foco.

HotKeys

É o termo utilizado para teclas de atalho em C#

Keys Enumeration

Esta enumeração tem um atributo FlagsAttribute que permite uma combinação bit a bit de seus valores de membro. Pode ser usado através da classe Keys.

KeyDown

É um evento que ocorre quando uma tecla é pressionada enquanto o controle tem foco.

Exemplo:

Neste exemplo mostramos como usar o componente checkbox seus eventos e como usar hotkeys para manipular o checkbox e imprimir o resultado dentro de um componente textbox.

C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication14
{

    public partial class Form1 : Form
    {
        // Define componentes
        Label rotulo;
        CheckBox opc1;
        CheckBox opc2;
        CheckBox opc3;
        TextBox texto;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            // Cria componentes dinamicamente no evento form shown
            rotulo = new Label();
            opc1 = new CheckBox();
            opc2 = new CheckBox();
            opc3 = new CheckBox();
            texto = new TextBox();

            // posiciona componentes no form
            rotulo.Location = new Point (5, 10);
            opc1.Location = new Point (5, 30);
            opc2.Location = new Point(5, 50);
            opc3.Location = new Point(5, 70);
            texto.Location = new Point(5, 100);

            // adiciona a propriedade de texto nos componentes
            rotulo.Text = "Escolha um Checkbox ou pressione A, B ou C:";
            opc1.Text = "Opção 1 - Alt + &X";
            opc2.Text = "Opção 2 - Alt + &Y";
            opc3.Text = "Opção 3 - Alt + &Z";

            // seta a propriedades para a caixa de texto
            texto.Multiline = true;
            texto.ScrollBars = ScrollBars.Vertical;
            texto.ReadOnly = true;

            // Define o tamanho dos objetos no form
            rotulo.Size = new Size(250, 20);
            opc1.Size = new Size(130, 20);
            opc2.Size = new Size(130, 20);
            opc3.Size = new Size(130, 20);
            texto.Size = new Size(250, 100);

            // Define eventos para o checkbox
            opc1.CheckedChanged += new System.EventHandler(opc1_CheckedChanged);
            opc2.CheckedChanged += new System.EventHandler(opc2_CheckedChanged);
            opc3.CheckedChanged += new System.EventHandler(opc3_CheckedChanged);

            // Ativa a previsão de teclas do form
            Form1.ActiveForm.KeyPreview = true;

            // Nome do form
            Form1.ActiveForm.Text = "Desenvolvimento Aberto";
            // Adiciona componentes ao form
            Form1.ActiveForm.Controls.Add(rotulo);
            Form1.ActiveForm.Controls.Add(opc1);
            Form1.ActiveForm.Controls.Add(opc2);
            Form1.ActiveForm.Controls.Add(opc3);
            Form1.ActiveForm.Controls.Add(texto);

        }

        // Eventos do checkbox
        private void opc1_CheckedChanged(object sender, EventArgs e)
        {
            texto.AppendText("Você clicou no checkbox 1\n");
        }

        private void opc2_CheckedChanged(object sender, EventArgs e)
        {
            texto.AppendText("Você clicou no checkbox 2\n");
        }
        private void opc3_CheckedChanged(object sender, EventArgs e)
        {
            texto.AppendText("Você clicou no checkbox 3\n");
        }

        // Evento de tecla pressionada
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {

            if  (e.KeyCode == Keys.A)
            {

                    if (opc1.Checked == true)
                    {
                        opc1.Checked = false;
                    }
                    else
                    {
                        opc1.Checked = true;
                    }

            }

            if (e.KeyCode == Keys.B)
            {

                if (opc2.Checked == true)
                {
                    opc2.Checked = false;
                }
                else
                {
                    opc2.Checked = true;
                }

            }

            if (e.KeyCode == Keys.C)
            {

                if (opc3.Checked == true)
                {
                    opc3.Checked = false;
                }
                else
                {
                    opc3.Checked = true;
                }

            }

        }
    }
}

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s