Tworzysz timer w klasie okna:
public partial class MyForm: Form
{
Timer countdown = new Timer();
W wybranym momencie odpalasz go i mówisz że po upłynięciu czasu ma wyłączyć guzik:
countdown.Interval = 1000;
countdown.Tick += (sender, e) => { button1.Enabled = false; countdown.Stop(); };
countdown.Start();
To samo można to też zapisać z osobną metodą zamiast lambdy:
countdown.Interval = 1000;
countdown.Tick += timerTick;
countdown.Start();
// ...
private void timerTick(Object sender, EventArgs e)
{
button1.Enabled = false;
countdown.Stop();
}