Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как вызвать нажатие кнопки из метода


Автор: lankin 6.11.2008, 13:27
В общем заинтересовался такой штукой: 
Код

ButtonOk_Click(object sender, EventArgs e)
{
    Form.Close();
}
Form_KeyDown(object sender, KeyEventArgs e)
{
    if(e.KeyCode==Keys.Return)
    {
        //вот отсюда хочу вызвать нажатие на кнопку
    }
}


В общем и так ясно - как сделать так, чтобы по нажатию Enter у меня нажалась кнопка OK на форме с последующим закрытием самой формы?

Автор: informatik 6.11.2008, 13:30
Код

ButtonOk_Click(this, new EventArgs e);

Автор: Partizan 6.11.2008, 13:34
EventArgs.Empty вторым параметром достаточно передать

Автор: lankin 6.11.2008, 13:42
О! Пробую!

Добавлено через 9 минут и 21 секунду
Отлично работает! Спасибо большое. А ему что пофиг, что я передаю пустой EventArgs? Это если бы я использовал "e" в обработке события, то надо было передавать? 

Автор: Partizan 6.11.2008, 14:35
lankin, посмотрите Members класса EventArgs, и попробуйте найти там то, что вы могли бы использовать.

Автор: Bogdan1024 6.11.2008, 14:42
Цитата(lankin @  6.11.2008,  12:42 Найти цитируемый пост)
Отлично работает! Спасибо большое. А ему что пофиг, что я передаю пустой EventArgs?

Да. Ты вызываешь обычную функцию. Она не волшебная и ничего за кадром невидимого не делает.
Цитата
Это если бы я использовал "e" в обработке события, то надо было передавать?  

Да.

Автор: jorikdima 6.11.2008, 16:01
можно вообще аргументы null, null если не используются

Автор: Rififi 6.11.2008, 16:08
Цитата(lankin @  6.11.2008,  14:27 Найти цитируемый пост)
//вот отсюда хочу вызвать нажатие на кнопку

ButtonOk.PerformClick();

Автор: lankin 6.11.2008, 17:52
Rififi, Не пробовал такое, но буду знать на будущее. Всем спасибо, помогли smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)