Я хочу добавить ярлык к флажку. Флажок не содержит текста. У меня есть ярлык, а затем флажок. Ярлык имеет ярлык для ex. & Видимый. Итак, Label имеет V в качестве клавиши быстрого доступа. Если кто-то нажал Alt + V, то chechbox должен измениться с выбранного на не выбранное состояние и таким же образом.Как добавить ярлык к флажку без текста
ответ
Элементы управления ярлыками являются специальными в отношении мнемоники клавиатуры. Поскольку метки никогда не могут получить фокус, всякий раз, когда вы пытаетесь установить фокус на метку, используя свою клавиатурную мнемонику, метка устанавливает фокус на самый следующий элемент управления в порядке табуляции.
Предназначен для использования с текстовыми полями и comboboxes, которые не имеют встроенного средства для отображения метки (в отличие от флажка и кнопок управления кнопками). Чтобы настроить мнемонику для этих элементов управления, поместите метку рядом с ними, установите мнемонику для нее и убедитесь, что она появилась прямо перед текстовым полем в порядке вкладок. Таким образом, когда пользователь активирует мнемонику клавиатуры для метки, она автоматически устанавливает фокус на элемент управления текстовым полем. Вы видели это повсюду в Windows:
Ну, вы можете сделать то же самое с помощью элемента управления CheckBox, если необходимо (хотя я на самом деле не уверен, почему вы захотите). Установите мнемонику для метки (&Visible
), а затем поместите метку рядом с флажком, с которым вы хотите работать. Use the TabIndex
configuration options in the Visual Studio IDE, чтобы убедиться, что если метка имеет индекс табуляции n, элемент управления флажком имеет индекс вкладки n + 1.
Нет необходимости переопределять ProcessCmdKey
или что-то еще сложное.
Не работает для ToolStripLabels & ToolStripCheckboxes –
Вы можете проверить его как это, см. Следующую часть кода.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// look for the expected key
if (keyData == Keys.Alt && keyData == Keys.V)
{
checkBox1.Checked = true;
return true;
}
else
{
checkBox1.Checked = false;
return false;
}
}
Какие рамки вы используете: wpf, windows forms, gtk #, asp.net, ...? – madd0
что вы пробовали для этого? –
Окно формы рамки –