В приложении WinForms (C #) у меня есть несколько настраиваемых элементов управления, созданных во время выполнения. Эти настраиваемые элементы управления называются JobTimers и наследуют / расширяют стандартный элемент управления Timer.
public class JobTimer : System.Windows.Forms.Timer
{
private int IntJobID;
public int JobID
{
get{return IntJobID;}
set{IntJobID = value;}
}
}
public static void CreateTimer(int JobID)
{
JobTimer ControlJobTimer = new JobTimer();
ControlJobTimer.Enabled = true;
ControlJobTimer.JobID = JobID;
ControlJobTimer.Interval = 30000;
ControlJobTimer.Tick += new EventHandler(JobTimer_Tick);
ControlJobTimer.Start();
}
Подобно тому, как мы будем запрашивать коллекцию стандартных или настраиваемых элементов управления в форме - можем ли мы получить доступ / запросить коллекцию этих настраиваемых элементов управления JobTimer?
ПРИМЕЧАНИЕ. Причина появления этого вопроса заключается в том, что я не вижу, чтобы эти элементы управления закреплялись / помещались в какую-либо из форм, тем самым существуя исключительно в памяти программы. Также при остановке / выходе из приложения эти элементы управления исчезают.
Другими словами, как получить список всех таймеров в приложении вместе с доступом к их свойствам?
List<Timer>
. Как вам ударить ногой в открытую дверь;) То, что у вас есть сейчас, не дает вам никакого приличного способа получить обратную ссылку на объект таймера. У вас была одна, но это просто локальная переменная, которая гонзо после возврата CreateTimer (). Все, что осталось, - это аргумент sender в обработчике события Tick. Используйте список. - person Hans Passant   schedule 11.09.2014