Добавление сочетания клавиш доступа для элемента управления (Windows Forms .NET)
Клавиша доступа представляет собой подчеркнутый символ в тексте меню, пункте меню или метке элемента управления, например кнопки. С помощью клавиши доступа пользователь может "нажать" кнопку, нажав клавишу ALT в сочетании с предопределенной клавишей доступа. Например, если кнопка запускает процедуру печати формы и поэтому ее свойство Text
имеет значение "Print", добавление амперсанда (&) перед буквой "P" приводит к тому, что буква "P" будет подчеркнута в тексте кнопки во время выполнения. Пользователь может выполнить команду, связанную с кнопкой, нажав клавишу ALT.
Элементам управления, на которые невозможно переключиться в интерфейсе, не удастся задать клавиши доступа, кроме меток.
Автор
В Visual Studio в окне Свойства задайте для свойства Text строку, содержащую амперсанд (&) перед буквой, которая будет клавишей доступа. Например, чтобы задать букву "P" в качестве клавиши доступа, введите &Print.
Программный
Задайте для свойства 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";
См. также
.NET Desktop feedback