button1.Enabled = false;
Task.Factory.StartNew(() =>
{
int i = 0;
while (i<3)
{
Thread.Sleep(3 * 1000);
i++;
}
}).ContinueWith(_=> {
button1.Invoke(new ThreadStart(delegate () {
button1.Enabled = true;
}));
MessageBox.Show("Test");
});