更改控件颜色,并将其更改回原始颜色
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;
我想暂时改变按钮的颜色以显示按钮已被按下。我怎样才能在 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;