Поделиться через


Добавление сочетания клавиш доступа к элементу управления (Windows Forms .NET)

Ключ доступа является подчеркнутым символом в тексте меню, элемента меню или метки элемента управления, например кнопки. С помощью ключа доступа пользователь может "нажать" кнопку, нажав клавишу alt в сочетании с предварительно определенным ключом доступа. Например, если кнопка запускает процедуру печати формы, и её свойство Text установлено на "Печать", добавление амперсанда (&) перед буквой "P" приводит к тому, что буква "P" подчеркивается в тексте кнопки при выполнении программы. Пользователь может запустить команду, связанную с кнопкой, нажав клавиши ALT.

Элементы управления, которые не могут получать фокус, не могут иметь ключи доступа, кроме элементов управления метками.

Дизайнер

В окне свойств Visual Studio задайте для свойства Text строку, содержащую амперсанд (&) перед буквой, которая будет ключом доступа. Например, чтобы задать букву "P" в качестве ключа доступа, введите &печать.

диалоговое окно свойств с выбранным текстовым свойством и ключом доступа

Программный

Задайте свойству Text строку, содержащую амперсанд (&) перед символом, который будет служить быстрой клавишей.

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

Использование метки для фокусировки элемента управления

Несмотря на то, что метка не может быть сосредоточена, она имеет возможность фокусировать следующий элемент управления в порядке табуляции формы. Каждому элементу управления присваивается значение свойства TabIndex, как правило, в последовательном порядке возрастания. Когда ключ доступа назначается свойству Label.Text, следующий элемент управления в последовательном порядке табуляции получает фокус.

Используя пример из раздела Программные, если на кнопке не установлен текст, а вместо этого отображается изображение принтера, можно использовать метку, чтобы установить фокус на кнопке.

' 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

Отобразить амперсанд

При настройке текста или заголовка элемента управления, интерпретируемого амперсандом (&) в качестве ключа доступа, используйте два последовательных амперсанда (&&) для отображения одного амперсанда. Например, текст кнопки, заданной для "Print && Close", отображается в заголовке 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";

отображение амперсанда в кнопке

См. также