2014-09-18 79 views
0

我有10個面板在我的窗體上,當你把它們懸停時,它們的顏色會改變。我有10級私人潛艇是這樣的...觸發一個事件與多個控件的一個子

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

此代碼重複每個面板是它的名字,唯一的區別,我怎樣才能更有效地做到這一點?因爲它非常重複。

回答

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