0

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

4

2 回答 2

1

为此,您可以使用GotFocusandLostFocusEnterand事件。Leave

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

private void myBtn_LostFocus(object sender, EventArgs e)
{
    myBtn.BackColor = SystemColors.Control;
}
于 2013-01-02T09:25:49.803 回答
1

为了保持一致性,您可以同时拥有tabmouseover在焦点位于表单上时更改按钮颜色。

但是您需要覆盖低级别的 Got、LostFocus 事件。

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

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

参考

于 2013-01-02T09:28:04.827 回答