.net вызвать кнопку с клавишей ввода - PullRequest
0 голосов
/ 01 декабря 2011

В .net у меня есть вкладка на вкладке управления. Я добавил кнопку на вкладку и хочу, чтобы клавиша ввода вызывала кнопку.

Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Это то, для чего был разработан метод ProcessCmdKey ().Переопределите это так:

protected:
    virtual bool ProcessCmdKey(Message %msg, Keys keyData) override {
        if (keyData == Keys::Enter) {
            button1->PerformClick();
            return true;
        }
        return __super::ProcessCmdKey(msg, keyData);
    }

Form :: AcceptButton подходит для диалогов.

0 голосов
/ 01 декабря 2011

Вы можете установить Form.KeyPreview = true, а затем

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Return)
        {
            e.Handled = true;
            e.SuppressKeyPress = true;
            button1_Click(sender, EventArgs.Empty);
        }
    }

или (как вам сказал @ChrisF) вы можете установить Form.AcceptButton = button1 и работа будет выполнена

...