Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2014, 22:38   #1
neic777
 
Регистрация: 22.12.2013
Сообщений: 3
По умолчанию DispatcherTimer свой обработчик события

Как сделать свой обработчик события на таймер DispatcherTimer, есть вот такой стандартный вариант с MSDN:

Код:
DispatcherTimer timer = new DispatcherTimer();
timer.Tick += new EventHandler(timer_Tick);

public void timer_Tick(object sender, EventArgs e)
{

}
А надо иметь timer_Tick(object sender, EventArgs e) с такими вот к примеру аргументами:

Код:
public void timer_Tick(string b, int d)
{

}
Но как мне создать такой обработчик события и передать его в EventHandler и так же передать параметры и это всё присвоить timer.Tick ?
neic777 вне форума Ответить с цитированием
Старый 04.10.2014, 10:43   #2
meksik
Новичок
Джуниор
 
Регистрация: 03.10.2014
Сообщений: 6
По умолчанию

Код:
public void timer_Tick(object sender, EventArgs e, string b, int d)
{

}
не?
meksik вне форума Ответить с цитированием
Старый 04.10.2014, 13:57   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

обработчик это всегда метод определенного формата.
добавить в него ничего нельзя.
берите нужные данные извне параметров.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.10.2014, 20:08   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Ну можно так например
Код:
timer.Tick += (sender,e) => timer_Tick(b, d);
Благодарить в репутацию. Проклинать — туда же

Последний раз редактировалось Luuzuk; 05.10.2014 в 22:05.
Luuzuk вне форума Ответить с цитированием
Старый 05.10.2014, 21:46   #5
neic777
 
Регистрация: 22.12.2013
Сообщений: 3
По умолчанию

А можно тогда написать своё событие и к нему сделать свой обработчик?
Как это долго выглядит, а то я не особо понимаю про делегаты и события?
neic777 вне форума Ответить с цитированием
Старый 05.10.2014, 22:03   #6
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Тогда лучше почитайте про делегаты и события. Если будут конкретные вопросы - пишите, разберемся
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 06.10.2014, 02:07   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Ну можно так например
Код:
timer.Tick += (sender,e) => timer_Tick(b, d);
я думал о таком варианте, но я не понял, а как можно отписаться от такого события?
Цитата:
Как это долго выглядит, а то я не особо понимаю про делегаты и события?
это выглядит в две/одну строчку объявления, и две строки применения.

почитайте основы все же.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.10.2014, 12:55   #8
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
а как можно отписаться от такого события?
очень просто: никак

Можно, конечно, сделать хитрее:
Код:
EventHandler someHandler = (sender, e) => timer_Tick(b, d);
timer.Tick += someHandler;
.............
timer.Tick -= someHandler;
но это все уже редко требуемые извращения
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 06.10.2014, 13:43   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да мне прост любопытно стало
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события nanom1t C++ Builder 1 15.04.2013 01:02
Обработчик события BodyZ C# (си шарп) 0 24.10.2012 18:17
С# Обработчик события yulshaz Помощь студентам 7 24.09.2012 08:12
Обработчик события yardie Общие вопросы .NET 3 26.03.2011 18:30
Обработчик события... Flash_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 12.03.2007 21:24