Adicionar um atalho de tecla de acesso a um controle (Windows Forms .NET)

Uma chave de acesso é um caractere de sublinhado no texto de um menu, item de menu ou rótulo de um controle como um botão. Com uma tecla de acesso, o usuário pode "clicar" em um botão pressionando a tecla Alt em combinação com a tecla de acesso predefinida. Por exemplo, se um botão executa um procedimento para imprimir um formulário e, portanto, sua propriedade Text estiver definida como "Print", adicionar um e comercial (&) antes da letra "P" faz com que a letra "P" seja sublinhada no texto do botão no tempo de execução. O usuário pode executar o comando associado ao botão pressionando Alt.

Os controles que não podem receber foco não podem ter chaves de acesso, exceto controles de rótulo.

Designer

Na janela Propriedades do Visual Studio, defina a propriedade Text como uma cadeia de caracteres que inclui um e comercial (&) antes da letra que será a chave de acesso. Por exemplo, para definir a letra "P" como a tecla de acesso, digite &Imprimir.

Caixa de diálogo Propriedades com propriedade de texto selecionada e tecla de acesso

Programático

Defina a Text propriedade como uma cadeia de caracteres que inclua um E comercial (&) antes da letra que será o atalho.

' Set the letter "P" as an access key.
Button1.Text = "&Print"
// Set the letter "P" as an access key.
button1.Text = "&Print";

Usar um rótulo para focar um controle

Mesmo que um rótulo não possa ser focado, ele tem a capacidade de focar o próximo controle na ordem de tabulação do formulário. Cada controle recebe um valor para a TabIndex propriedade, geralmente em ordem sequencial crescente. Quando a tecla de acesso é atribuída à propriedade Label.Text , o próximo controle na ordem de tabulação sequencial é focado.

Usando o exemplo da seção Programática , se o botão não tivesse nenhum texto definido, mas apresentasse uma imagem de uma impressora, você poderia usar um rótulo para focar o botão.

' Set the letter "P" as an access key.
Label1.Text = "&Print"
Label1.TabIndex = 9
Button1.TabIndex = 10
// Set the letter "P" as an access key.
label1.Text = "&Print";
label1.TabIndex = 9
button1.TabIndex = 10

Exibir um E comercial

Ao definir o texto ou a legenda de um controle que interpreta um E comercial (&) como uma chave de acesso, use dois E comercial consecutivos (&&) para exibir um único E comercial. Por exemplo, o texto de um botão definido como "Print && Close" exibido na legenda de Print & Close:

' Set the letter "P" as an access key.
Button1.Text = "Print && Close"
// Set the letter "P" as an access key.
button1.Text = "Print && Close";

Exibindo um E comercial em um botão

Confira também