using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Data; using System.Windows.Forms; public class TimerCounter : System.Windows.Forms.UserControl { private System.Windows.Forms.Timer timer1; private System.ComponentModel.IContainer components; private int fCounter = 0; public int Counter { get { return fCounter; } } public TimerCounter() { this.components = new System.ComponentModel.Container(); this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1.Enabled = true; this.timer1.Interval = 1000; this.timer1.Tick += new System.EventHandler(this.OnTick); this.Name = "TimerCounter"; } private void OnTick(object sender, System.EventArgs e) { fCounter++; } } public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.Label label1 = new System.Windows.Forms.Label(); private System.Windows.Forms.Label CounterLabel; private System.Windows.Forms.Button Update; private System.ComponentModel.Container components = null; private TimerCounter counter; public Form1() { counter = new TimerCounter(); this.CounterLabel = new System.Windows.Forms.Label(); this.Update = new System.Windows.Forms.Button(); this.SuspendLayout(); this.label1.Location = new System.Drawing.Point(32, 24); this.label1.Size = new System.Drawing.Size(48, 23); this.label1.Text = "Counter: "; this.CounterLabel.Location = new System.Drawing.Point(96, 24); this.CounterLabel.Size = new System.Drawing.Size(32, 23); this.Update.Location = new System.Drawing.Point(80, 72); this.Update.Text = "Update"; this.Update.Click += new System.EventHandler(this.Update_Click); this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(224, 133); this.Controls.AddRange(new System.Windows.Forms.Control[] {this.Update,this.CounterLabel,this.label1}); this.ResumeLayout(false); } [STAThread] static void Main() { Application.Run(new Form1()); } private void Update_Click(object sender, System.EventArgs e) { CounterLabel.Text = counter.Counter.ToString(); } }