所以,我有一个小问题。我正在制作一个应用程序(在visual basic中),我有一种方法可以在你悬停在它上面时设置颜色。现在,我想为所有按钮都这样做,但通过制作一个可以为我这样做的子按钮来让它更容易一点。问题是,我的子按钮如何告诉哪个按钮初始化自定义悬停颜色?这是我的密码。
Private Sub initButton(ByVal color As Color)
Button1.TabStop = False
Button1.FlatStyle = FlatStyle.Flat
Button1.FlatAppearance.BorderSize = 0
Button1.FlatAppearance.BorderColor = color
Button1.FlatAppearance.CheckedBackColor = color
Button1.FlatAppearance.MouseDownBackColor = color
Button1.FlatAppearance.MouseOverBackColor = color
End Sub
现在,如何将Button1设置为要初始化的按钮?有什么可以作为论据吗?如果你找到答案,请回复。
正如Plutonix所建议的,使用按钮的悬停事件将是第一个合乎逻辑的选择。您需要将一个参数添加到您的Sub中,以传递悬停在其上的按钮。
Private Sub Button1_MouseHover(sender As Object, e As EventArgs)
Handles Button1.MouseHover,Button2.MouseHover 'add more buttons....
initButton(CType(sender, Button),Color.Blue)
End Sub
Private Sub initButton(hoverButton As Button, ByVal color As Color)
hoverButton.TabStop = False
hoverButton.FlatStyle = FlatStyle.Flat
hoverButton.FlatAppearance.BorderSize = 0
hoverButton.FlatAppearance.BorderColor = color
hoverButton.FlatAppearance.CheckedBackColor = color
hoverButton.FlatAppearance.MouseDownBackColor = color
hoverButton.FlatAppearance.MouseOverBackColor = color
End Sub