Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как определить обработчик события в C#?  (Прочитано 14774 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Yegor
Гость
« : 26-01-2004 14:09 » 

Как определить обработчик события в C#? Допустим, имеется кнопка Button и процедура Button_Click(). Если в .aspx прописать OnClick = "Button_Click" - то все работает. Теперь если выключить AutoEventWireup и воспользоваться в конструкторе класса
Button += new EventHandler(this.cmdUpdate_Click);
то выскакивает ошибка, что "Экземпляр Button еще не создан". Если такую строку включить в Page_Load(), то обработчик не подцепляется.
В VB это легко решается при помощи WithEvents.

Помогите пожалуйста.
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #1 : 26-01-2004 14:54 » 

Yegor, делегаты надо привешивать не к самому объекту, а к событию этого объекта.
Код:

Button.Click += new EventHandler)this.cmdUpdate_Click:;

Вот так должно работать.  Улыбаюсь
Записан
Yegor
Гость
« Ответ #2 : 27-01-2004 06:21 » new

Ой-ей-ей.... все верно, я просто неправильно написал.

Button.Click += new EventHandler(this.Button_Click);

Именно так и не работает. Где надо это прописать? Может еще надо что-либо объявить или прописать?
Записан
KAAnton
Гость
« Ответ #3 : 27-01-2004 07:58 » 

Ты просто не в том месте ставишь подключаешь обработчик события. Он должен подключатся НЕ В КОНСТРУКТОРЕ класса, производного от Page, а в обработчике события Load. Если проект создается при помощи VS, то студия тебе сама создаст метод
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
Записан
KAAnton
Гость
« Ответ #4 : 27-01-2004 08:00 » 

Блин, что то у меня с русским языком не впоряде  Отлично
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines