Come si fa ad ottenere la posizione assoluta di un controllo sullo schermo??? Le proprietà Top e Left definiscono la distanza all'interno del controllo contenitore, ma quali proprietà definiscono la posizione sullo schermo???
Come si fa ad ottenere la posizione assoluta di un controllo sullo schermo??? Le proprietà Top e Left definiscono la distanza all'interno del controllo contenitore, ma quali proprietà definiscono la posizione sullo schermo???
Usa il metodo del controllo PointToScreen per convertire un punto relativo all'area client del controllo in coordinate dello schermo.
Amaro C++, il gusto pieno dell'undefined behavior.
Scusami, ma non mi funziona.
Insomma, avendo un controllo Combobox, trattandolo con una procedura specifica che aggiunge il trattamento dell'evento click su di esso, vorrei far apparire una form sotto la combobox indipendentemente da dove questa viene creata.
Non funziona = ?Originariamente inviato da JerDotNet
Scusami, ma non mi funziona.
Hai provato così?
codice:Dim controlPos As Point =NomeControllo.PointToScreen(NomeControllo.Location) 'ora in controlPos c'è la posizione del controllo in coordinate-schermo
Amaro C++, il gusto pieno dell'undefined behavior.
Così non funziona. Comunque infine ho trovato come far funzionare il metodo:
Il problema è trovare il puntamento esatto di Istanza, che non deve essere il controllo stesso, ma una form. Facile, si mette Controllo.FindForm.PointToScreen(Controllo.Locatio n) ed il gioco è fatto. Magari... se questo stronzo di controllo si trova invece in un user control, bisogna metterci quest'ultimo, e quì è iniziato il casino, che però ho risolto.codice:Coordinate = Istanza.PointToScreen(Controllo.Location)
![]()
![]()
![]()
![]()
![]()
![]()
Hai ragione, ma si può semplificare la vicenda:
o anchecodice:Coordinate = Controllo.Parent.PointToScreen(Controllo.Location)
.codice:Coordinate = Controllo.PointToScreen(New Point(0,0))
Amaro C++, il gusto pieno dell'undefined behavior.