Evento Mouse Click

venerdì 18 luglio 2008 - 16.47

DkSw Profilo | Junior Member

Buon Giorno!

Il codice seguente dovrebbe cambiare il colore di sfondo dei controlli(personalizzati) posti su di un pannel, tuttavia non funziona perchè il metodo pnlAccount.MouseClick avviene solo alla pressione della superficie del pannel. Come faccio a dire "al click del pannel o di un controllo posto su di esso"?
Non voglio associare l'evento MouseClick al pannel e al resto dei controlli, perchè colloco i controlli dinamicamente durante l'esecuzione dell'applicazione.
Qualche soluzione?

Private Sub pnlAccount_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pnlAccount.MouseClick
Dim PosizioneCursoreX As Integer = e.X
Dim PosizioneCursoreY As Integer = e.Y
For Each controllo As Account In Me.pnlAccount.Controls
If controllo.Location.X < PosizioneCursoreX And (controllo.Location.X + LarghezzaControllo) > PosizioneCursoreX And controllo.Location.Y < PosizioneCursoreY And (controllo.Location.Y + AltezzaControllo) > PosizioneCursoreY Then
controllo.BackColor = Color.Blue
else
controllo.BackColor = Color.WhiteSmoke
End If
Next
pnlAccount.Refresh()
End Sub

DkSw Profilo | Junior Member

Ti ringrazio per l'attenzione, ma non è quello il problema...

Sto realizzando un controllo personalizzato per la gestione degli account utente "stile windows xp":


500x256 30Kb


Per ogni utente di una datatable aggiungo un "controllo personalizzato pulsante" con i suoi dati in un pannel del mio "controllo personalizzato menù".
Avrei già trovato una soluzione(gestire l'evento Mouseclick di ogni "controllo personalizzato pulsante"), ma non è quella che vorrei seguire.

Come faccio a capire quando è cliccato un pulsante, se l'evento MouseClick del pannel si riferisce solo alla sua superficie e non anche ai pulsanti che ha sopra?

DkSw Profilo | Junior Member

E' possibile personalizzare l'evento MouseClick, o crearne uno simile, che invece di reagire alla pressione della superficie del controllo, reagisca al click del mouse in un punto qualsiasi del controllo(controllando la posizione del puntatore del mouse, e la dimensione del controllo)?

Sarebbe perfetta come soluzione...
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5