Я не уверен, что это хорошая идея, и это, вероятно, закончится как большая часть академических упражнений, поэтому несите меня:Определить, подключен ли метод обработчика событий к событию?
Предположим, что я создавал UserControl (как и я) который будет каждые X секунд (с использованием таймера) искать текстовый файл и отображать эту информацию в этом UserControl. Давайте назовем этот элемент управления MyUserControl.
перефразировать основной:
Я бы этот таймер в качестве переменной-члена этого управления, и есть код, который выглядит следующим образом:
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
И метод обработчик события, который выглядит следующим образом:
private void timer1_Tick(object sender, EventArgs e)
{
// Read text-file and do lots of goodness.
}
Круто, так что теперь я могу установить общественную собственность MyUserControl к некоторому затраченного времени, и просто шлепаясь этим контролем на моей форме, у меня есть миленькое управление UPDA само по себе. Ухоженная.
Вот вещь, что у меня любопытный:
Формы я собираюсь хлопнуть его на уже есть таймер. Итак, почему есть два конкурирующих таймера? Мне бы очень хотелось, чтобы MyUserControl мог использовать внутренний таймер только в том случае, если это необходимо (например, привязать его к другой форме, которая еще не имеет таймера).
Я предполагаю, что я могу сделать MyUserControl Timer1_Tick общественности, как это здесь:
public void timer1_Tick(object sender, EventArgs e)
{
// Read text-file and do lots of goodness.
}
А потом, потому что эти вещи являются групповыми, сделать что-то подобное здесь в виде:
this.theFormTimer.Tick += new System.EventHandler(this.theFormTimer_Tick);
this.theFormTimer.Tick += new System.EventHandler(MyUserControlObject.timer1_Tick);
И также установите переменную-член MyUserControl, чтобы она не включалась сама.
Но есть ли какой-нибудь способ использования этого слова? Могу ли я каким-то образом определить, что метод обработчика событий в MyUserControl уже подключен к событию tick Timer Timer? Или использовать какой-то другой подход, чем то, что я предлагаю?
Спасибо! (извинения, если это окажется дубликат, мой google-fu может быть плохим сегодня)
Нет смысла делать это. –
Вас не интересуют два таймера? Я не был уверен, должен ли я быть. – JustLooking
Во-первых, вам, вероятно, не стоит беспокоиться об этом. Таймер - очень легкий компонент. Во-вторых, что, если период другого таймера составлял 1 секунду. Или 1 час. И ваш компонент хочет обновляться раз в минуту? –