Member 12064859 Ответов: 1

Событие Sendkeys не обнаружено внутри приложения в приложении windows form


Привет, я новичок в разработке приложений для windows. Я разрабатываю приложение Windows Form, где макет выглядит следующим образом:

Есть одно текстовое поле, и я создал клавиатуру внутри приложения с помощью события SendKeys.

Проблема заключается в том, что все другие приложения в системе способны обнаруживать ключи, но текстовое поле внутри приложения не может обнаруживать ключи.

Что я уже пробовал:

protected override CreateParams CreateParams
        {
            get
            {
                CreateParams param = base.CreateParams;
                param.ExStyle |= 0x08000000;
                return param;
            }
        }

private void button14_Click(object sender, EventArgs e)
        {//one of the Key in Keyboard
            if (checkBox1.Checked)
            {
                SendKeys.Send("Q");
            }
            else
            {
                SendKeys.Send("q");
            }
        }

private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

Richard MacCutchan

Вы отправляете ключи в активное окно и в тот элемент управления, который имеет фокус. В вашем случае buton14 будет иметь фокус.

1 Ответов

Рейтинг:
1

Marbry Hardin

Установить фокус в текстовое поле textbox1 прямо перед вызовом метода sendkeys будет.Send (), чтобы быть уверенным, что это то, что имеет фокус для получения входных данных.

textBox1.Focus();
SendKeys.Send("Q");