触发一个事件,其中一个子控件用于多个控件

时间:2014-09-18 17:22:49

标签: vb.net

我的表单上有10个面板,当你将它们悬停时,它们的颜色会发生变化。我有10个私人潜水员......

 Private Sub pnl2_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnl2.MouseHover
       pnl2.BackColor = Color.WhiteSmoke
 End Sub

对于每个面板重复此代码,唯一的区别在于它的名称,我该如何更有效地执行此操作?因为它非常重复。

1 个答案:

答案 0 :(得分:2)

在处理程序语句中添加它们,每个语句附加一个逗号。 sender对象是有问题的面板,因此将其强制转换以更改其属性。

Private Sub pnl2_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles pnl2.MouseHover, pnl3.MouseHover 'etc
   Dim pnl As Panel = CType(sender, Panel)
   pnl.BackColor = Color.WhiteSmoke
End Sub
相关问题