更改控件颜色,并将其更改回原始颜色

Change control colour, and change it back to original

我想暂时改变按钮的颜色以显示按钮已被按下。我怎样才能在 C# 中实现这一点?我可以像这样轻松地更改背景颜色:

private void button1_Click(object sender, EventArgs e)
{
    button1.BackColor = Color.Green;    
}

按钮,但如何在延迟后恢复这些更改?

private void button1_Click(object sender, EventArgs e)
{
    button1.BackColor = Color.Azure;
    var aTimer = new System.Timers.Timer(2000);
    aTimer.Elapsed += OnTimedEvent;
    aTimer.Enabled = true;
}

private  void OnTimedEvent(Object source, ElapsedEventArgs e)
{
    button1.BackColor =  SystemColors.Control;
}
Color btnBackColor;
Timer timer = new Timer();

private void button1_Click(object sender, EventArgs e)
{
    btnBackColor = button1.backColor;
    button1.BackColor = Color.Green;    
    timer.Enabled = true;
}

private void timer_Tick(object sender, EventArgs e)
{
    button1.BackColor = btnBackColor;
    timer.Enabled=false;
}

并在构造函数中添加以下行:

    timer.Tick += timer_Tick;
    timer.Elapsed = 2000;