Because Timers are a scarce system resource, I would handle it by having a Clock class (or UserControl) which held a
static
Timer instance. Each individual Clock instance would hook an event handler to the static Timer, so the minimum system resources would be used:
public partial class Clock : UseControl
{
private static Timer tim = new Timer();
public static Clock()
{
tim.Tick = 1000;
tim.Start();
}
public Clock()
{
InitializeComponent();
tim.Tick += new EventHandler(tim_Tick);
}
void tim_Tick(object sender, EventArgs e)
{
Console.WriteLine(DateTime.Now);
}
}