Vb.net 在sub中设置按钮?

Vb.net 在sub中设置按钮?,vb.net,Vb.net,所以,我有一个小问题。我正在制作一个应用程序(用VisualBasic),我有一种方法可以在你将鼠标悬停在上面时设置颜色。现在,我想对所有的按钮都这样做,但是通过制作一个可以为我这样做的sub使它变得更容易一些。问题是,我的sub如何告诉哪个按钮初始化自定义悬停颜色?这是我的密码 Private Sub initButton(ByVal color As Color) Button1.TabStop = False Button1.FlatStyle = FlatStyle.F

所以,我有一个小问题。我正在制作一个应用程序(用VisualBasic),我有一种方法可以在你将鼠标悬停在上面时设置颜色。现在,我想对所有的按钮都这样做,但是通过制作一个可以为我这样做的sub使它变得更容易一些。问题是,我的sub如何告诉哪个按钮初始化自定义悬停颜色?这是我的密码

 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设置为要初始化的按钮?还有什么可以作为论据吗?如果您找到了答案,请回复。

正如Puropoix所建议的,使用按钮的悬停事件将是第一个逻辑选择。您需要向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

正如Proputix所建议的,使用按钮的悬停事件将是第一个逻辑选择。您需要向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

正如Proputix所建议的,使用按钮的悬停事件将是第一个逻辑选择。您需要向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

正如Proputix所建议的,使用按钮的悬停事件将是第一个逻辑选择。您需要向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

将代码放入悬停事件中,并将所有按钮挂接到同一事件处理程序;sender参数将是悬停的当前控件,在悬停事件中过度输出代码,并将所有按钮挂接到同一事件处理程序;sender参数将是悬停的当前控件,在悬停事件中过度输出代码,并将所有按钮挂接到同一事件处理程序;sender参数将是悬停的当前控件,在悬停事件中过度输出代码,并将所有按钮挂接到同一事件处理程序;sender参数将是悬停在其上的当前控件。由于sender是一个对象而不是按钮,因此将使用Option Strict On失败(我建议始终使用Option Strict On)。我建议将initButton调用更改为
initButton(CType(sender,Button),Color.Blue)
@Blackwood您是对的。我把hoverButton当作对象来玩弄,结果忘记了我所做的更改。我应该有更好的校对。。。谢谢。@JStevens工作得很好。谢谢你的回答。这真的帮了我一个大忙。使用Option Strict On(我建议始终使用Option Strict On)会失败,因为发件人是一个对象而不是按钮。我建议将initButton调用更改为
initButton(CType(sender,Button),Color.Blue)
@Blackwood您是对的。我把hoverButton当作对象来玩弄,结果忘记了我所做的更改。我应该有更好的校对。。。谢谢。@JStevens工作得很好。谢谢你的回答。这真的帮了我一个大忙。使用Option Strict On(我建议始终使用Option Strict On)会失败,因为发件人是一个对象而不是按钮。我建议将initButton调用更改为
initButton(CType(sender,Button),Color.Blue)
@Blackwood您是对的。我把hoverButton当作对象来玩弄,结果忘记了我所做的更改。我应该有更好的校对。。。谢谢。@JStevens工作得很好。谢谢你的回答。这真的帮了我一个大忙。使用Option Strict On(我建议始终使用Option Strict On)会失败,因为发件人是一个对象而不是按钮。我建议将initButton调用更改为
initButton(CType(sender,Button),Color.Blue)
@Blackwood您是对的。我把hoverButton当作对象来玩弄,结果忘记了我所做的更改。我应该有更好的校对。。。谢谢。@JStevens工作得很好。谢谢你的回答。真的帮了我的忙。