在窗体中聚焦时改变按钮的背景色

本文关键字:按钮 背景色 改变 窗体 聚焦 | 更新日期: 2023-09-27 17:50:17

我需要在焦点上更改按钮的BackColor。
现在我在按钮中使用MouseOverBackColor <=银色
当我用鼠标聚焦按钮时,它的背景色变成了银色。当我通过tab键或.focus()从代码后面聚焦按钮时,我想将其背景色更改为银色
我应该使用哪个事件?
有人能帮帮我吗?谢谢。

在窗体中聚焦时改变按钮的背景色

您可以使用GotFocusLostFocus事件,或者EnterLeave事件。

private void myBtn_GotFocus(object sender, EventArgs e)
{
    myBtn.BackColor = Color.Silver;
}
private void myBtn_LostFocus(object sender, EventArgs e)
{
    myBtn.BackColor = SystemColors.Control;
}

为了保持一致性,当焦点在表单上时,您可以同时使用tabmouseover来更改按钮颜色。

但是你需要覆盖低级别的Got, LostFocus事件。

protected override void OnLostFocus(EventArgs e)
{
    base.OnLostFocus(e);
}
protected override void OnGotFocus(EventArgs e)
{
    base.OnGotFocus(e);
}
参考

  • 您也可以尝试进入和离开事件