Eventi

venerdì 07 novembre 2008 - 10.10

Harley.Net82 Profilo | Junior Member

ciao a tutti.

ho un pannello che contiene una serie di UserControl.

E' possibile intercettare l' evento click del pannello all' interno della classe UserControl ??

L' effeto che vorrei ottenere è il seguente:

- aggiungo N UserControl al mio pannello
- quando clikko sul pannello, ogni UserControl deve cambiare colore comportandosi da agente autonomo,
in pratica voglio evitare di scorrerli con un For ma vorrei che ogni UserControl capisse da se che deve
cambiare colore.

grazie x il prezioso aiuto.

aiedail92 Profilo | Expert

Ciao

Dato che stai lavorando con degli UserControl, quindi controlli di tua creazione, puoi intercettare dalla classe l'evento Click del Parent in modo da sapere quando viene clickato sul Panel. Ad esempio potresti usare un codice tipo questo:

Public Class MyUserControl Inherits UserControl 'Questo è l'ultimo Parent del controllo Dim lastParent As Control = Nothing 'Gestendo l'evento ParentChanged ottiene il Parent del controllo, 'quindi gestisce l'evento Click del Parent per fare il cambio di colore: Private Sub MyUserControl_ParentChanged(ByVal sender As Object, ByVal e As EventArgs) _ Handles MyBase.ParentChanged 'Rimuove l'associazione al gestore eventi del Click per l'ultimo Parent If lastParent IsNot Nothing Then RemoveHandler lastParent.Click, AddressOf Parent_Click End If 'Associa il nuovo gestore eventi If Parent IsNot Nothing Then AddHandler Parent.Click, AddressOf Parent_Click End If 'Imposta l'ultimo Parent su quello corrente lastParent = Parent End Sub Private Sub Parent_Click(ByVal sender As Object, ByVal e As EventArgs) 'Cambia il colore di sfondo End Sub End Class

Luca
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5