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; } } } } }