Отправить нажатие клавиш в качестве параметров в функции

1

У меня есть combobox, если нажата клавиша "Enter", что-то сделает. но я хочу вызвать эту функцию вручную, но как я посылаю ключ "ENTER" в качестве параметра?

 private void carga_todos(object sender, KeyPressEventArgs e)
    { 
        if (e.KeyChar == (char)13)
        {
           do something
        }

Я пытаюсь это сделать:

carga_todos(null, ??????)
  • 7
    Нет необходимости использовать все колпачки для названий. KTHX.
  • 3
    Я думаю, что OP слушал металл во время написания названия.
Показать ещё 1 комментарий
Теги:
keypress

2 ответа

6
Лучший ответ

Не вызывайте события вручную.

Переместите вашу логику в отдельный метод, который вы можете вызывать, когда захотите:

private void carga_todos(object sender, KeyPressEventArgs e)
{ 
    if (e.KeyChar == (char)Keys.Enter)
    {
       DoSomething();
    }
}

private void AnotherFunctionThatNeedsToDoSomethingToo()
{
    DoSomething();
}

private void DoSomething()
{
    // stuff to do
}
  • 0
    спасибо, боже мой, как я этого не заметил !!, я все усложнял.
2

Я согласен с Грантом Винни. Однако, если ваши требования направлены на непосредственный вызов обработчика, тогда должно работать следующее:

KeyPressEventArgs kpea = new KeyPressEventArgs((char)Keys.Enter);
carga_todos(null, kpea);

Удачи J

  • 0
    Спасибо, это тоже работает, как шарм!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню