Подтвердить что ты не робот

Нажмите клавишу ввода в текстовом поле и выполните команду кнопки

Я хочу выполнить код за моей кнопкой поиска, нажав Enter. У меня есть свойство Accept Button для моей кнопки поиска. Однако, когда я помещаю свою кнопку как НЕ видимую, мой поиск не выполняется.

Я хочу иметь возможность нажать Enter в своем текстовом поле и выполнить свою кнопку, пока она не будет видна. Любые предложения были бы замечательными! Ниже приведена одна попытка моего кода в событии KeyDown

if (e.KeyCode == Keys.Enter)
    {
        buttonSearch_Click((object)sender, (EventArgs)e);
    }
4b9b3361

Ответ 1

Вы можете зарегистрироваться в KeyDown-Event текстового поля, посмотреть, нажата ли клавиша Enter, а затем запустить EventHandler кнопки:

private void buttonTest_Click(object sender, EventArgs e)
{
    MessageBox.Show("Hello World");
}

private void textBoxTest_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        buttonTest_Click(this, new EventArgs());
    }
}

Ответ 2

В качестве альтернативы вы можете установить свойство .AcceptButton вашей формы. Enter автоматически создаст событие click.

this.AcceptButton = this.buttonSearch;

Ответ 4

Вы можете обработать событие keydown вашего элемента управления TextBox.

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode==Keys.Enter)
    buttonSearch_Click(sender,e);
}

Работает, даже если для свойства Visible кнопки установлено значение false

Ответ 5

Если вы просто нажмете кнопку, когда был нажат Enter, как насчет этого?

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            buttonSearch.PerformClick();
        }

Ответ 6

В WPF приложениях Этот код отлично работает

private void txt1_KeyDown(object sender, KeyEventArgs e)
  {
     if (Keyboard.IsKeyDown(Key.Enter) )
         {
              Button_Click(this, new RoutedEventArgs());
         }
   }

Ответ 7

вот и ты.

private void YurTextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            YourButton_Click(this, new EventArgs());
        }
    }

Ответ 8

Если у buttonSearch нет кода и единственное действие - вернуть результат диалога:

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
            DialogResult = DialogResult.OK;
    }

Ответ 9

    private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            //cod for run
        }
    }

    private void buttonSearch_Click(object sender, EventArgs e)
    {
        textbox1_KeyDown(sender, new KeyEventArgs(Keys.Enter));
    }