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

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

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

Важно!

Документация по рабочему столу для .NET 7 и .NET 6 находится в стадии разработки.

Автор

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

Properties dialog with text property selected and access key

Программный

Задайте для свойства 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";

displaying an ampersand in a button

См. также