using System;
using System.Windows.Forms;
namespace AsyncWorkerCs {
public partial class uclCountDown : UserControl {
private CountDown _CountDown = new CountDown();
public uclCountDown() {
InitializeComponent();
this.Disposed += (s, e) => _CountDown.Dispose();
_CountDown.Tick += _CountDown_Tick;
ckIsRunning.DataBindings.Add("Checked", _CountDown,
"IsRunning", false, DataSourceUpdateMode.OnPropertyChanged);
}
void _CountDown_Tick(object sender, CountDown.TickEventargs e) {
label1.Text = e.Counter.ToString();
if(e.Counter == 0) MessageBox.Show("Go!");
}
private void ckIsRunning_CheckedChanged(object sender, EventArgs e) {
if(ckIsRunning.Checked) _CountDown.Start((int)udInitValue.Value);
}
}
}