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.

Importante

A documentação do Guia da Área de Trabalho para .NET 7 e .NET 6 está em construção.

Designer

Na janela Propriedadesdo 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 chave de acesso, digite &Imprimir.

Properties dialog with text property selected and access key

Programático

Defina a Text propriedade como uma cadeia de caracteres que inclui 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. A cada controle é atribuído um valor à TabIndex propriedade, geralmente em ordem sequencial crescente. Quando a chave 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 comerciais 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";

displaying an ampersand in a button

Confira também