如何在图标按钮VB.NETWinForm中处理鼠标悬停和鼠标离开事件



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

如何在FontAwesome IconButton中处理鼠标悬停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#中对我有效。请注意,官方不支持透明作为按钮中的背景色。其他颜色也可以(我用的是绿色(。您还应该将BackColor设置为与InitializeComponent((行之后构造函数中MouseLeave事件中的BackColor相同。

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

Kim的回答"透明不被官方支持作为按钮中的背景色"帮助我回答了这个问题:如何使按钮背景透明?.

从那里,我设法解决了如下问题:

With btnHome.FlatAppearance
.MouseOverBackColor = Color.FromArgb(125, RGBColors.color1)
.MouseDownBackColor = Color.Transparent
End With

FlatAppearance是我要找的房产。

谢谢大家。

最新更新