Как присвоить сочетание клавиш (что-то как Ctrl+F) к текстовому полю в Windows Forms?

Я создаю инструмент с помощью C#. Это - Приложение Windows. У меня есть одно текстовое поле на форме, и я хочу присвоить фокус тому текстовому полю, когда пользователь нажимает Ctrl + F или Ctrl + S.

Как я делаю это?

9
задан Peter Mortensen 20 March 2012 в 20:23
поделиться

2 ответа

Один из способов - переопределить событие ProcessCMDKey.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Control | Keys.S))
    {
        MessageBox.Show("Do Something");
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

EDIT: В качестве альтернативы можно использовать событие keydown - смотрите Как перехватывать клавиши быстрого доступа в Visual Studio .NET.

13
ответ дан 4 December 2019 в 13:01
поделиться

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

0
ответ дан 4 December 2019 в 13:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: