在窗口窗体中,当我动态创建定时器控件时,如何区分定时器控件的对象,定时器控件是n个......它在运行时是deisde。帮帮我谢谢。。
问问题
70 次
2 回答
1
您只需在主窗体上创建一个 Dictionary 类型的实例字段,您还可以使用计时器的 Tag 属性:
class MainForm(Form)
{
Dictionary<string, Timer> timers;
public MainForm()
{
InitializeComponents();
timers = new Dictionary<string, Timer>();
}
public Timer AddTimer( string name, int interval, bool enabled, int id)
{
Timer t = new Timer();
t.Interval = interval;
t.Enabled = enabled;
t.Tag = id;
t.Ticks += new EventHandler(TimerEventProcessor);
timers.add(name, t);
return t;
}
public Timer GetTimer(string name)
{
if (timers.ContainsKey(name))
{
return timers[name];
}
else
{
return null;
}
}
private static void TimerEventProcessor(Object myObject,
EventArgs myEventArgs) {
Timer sourceTimer = myObject as Timer;
}
}
}
于 2012-10-16T05:37:32.683 回答
0
最好用线程代替定时器控制。无限的计时器控件将需要比线程更多的资源。
如果继续使用计时器控件,最好将创建的每个计时器的控件名称存储在一个数组中,您可以通过搜索数组来选择您想要的那个。
于 2012-10-16T05:39:39.380 回答