C # можно ли вызвать событие button_click с кодом? - PullRequest
5 голосов
/ 09 ноября 2010

Я не хочу нажимать кнопку.вместо этого я просто хочу запустить код события click.как бы я это сделал?

Ответы [ 5 ]

11 голосов
/ 09 ноября 2010
button1_click(null, new EventArgs() );
9 голосов
/ 09 ноября 2010

Опция: использовать PerformClick().

Взгляните здесь: Как: программно вызвать событие нажатия кнопки .

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

Но ни один из этих вариантов не является лучшим ИМХО.Если вам нужно вызвать код обработчика события, вам нужен новый метод!Просто реорганизуйте старый button1_click в новый стандартный метод и вызывайте его из любого места.

2 голосов
/ 09 ноября 2010

Изнутри или снаружи Form, где Button?Проще всего просто вызвать функцию:

Button1_Click(Button1, EventArgs.Empty);
1 голос
/ 09 ноября 2010

Иногда я делаю это, фактически вызывая функцию-обработчик событий, вот если я действительно ее реализовал.
Буквально называйте это как:

button1_Click(this, new EventArgs());
1 голос
/ 09 ноября 2010

Попробуйте keybd_event с p / invoke http://msdn2.microsoft.com/en-us/library/ms646304(VS.85).aspx

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