首页 > 解决方案 > 如何在 IconButton VB .NET WinForm 中处理 MouseHover 和 MouseLeave 事件

问题描述

我有一个 VB .NET WinForm,里面有一个主页按钮 ( btnHome )。

如何处理FontAwesome IconButton中的 MouseHover和MouseLeave事件?

我尝试了以下但没有奏效:

    Private Sub btnHome_MouseHover(sender As Object, e As EventArgs) Handles btnHome.MouseHover
        Me.btnHome.BackColor = Color.Black
    End Sub

    Private Sub btnHome_MouseLeave(sender As Object, e As EventArgs) Handles btnHome.MouseLeave
        Me.btnHome.BackColor = Color.Transparent
    End Sub

在变为黑色之前,按钮上会出现向浅色的过渡。

另一方面,前面的代码适用于工具箱中的常见 Windows 窗体按钮。

我也尝试了其他两个事件但没有成功:

我做错了什么?

提前致谢

标签: c#vb.netwinformsbuttonmouseevent

解决方案


这在 C# 中对我有用。请注意,透明不被官方支持作为按钮的背景颜色。但是其他颜色也可以(我用的是绿色)。您还应该在 InitializeComponent() 行之后的构造函数中将 BackColor 设置为与 MouseLeave 事件中的相同。

private void btnHome_MouseEnter(object sender, EventArgs e)
{
    btnHome.BackColor = Color.Black;
}

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

推荐阅读