Form Docking (spero si scriva così!!!)

martedì 25 luglio 2006 - 11.47

shark986 Profilo | Junior Member

Ciao a tutti!

Ehi ogni volta che dico quel "ciao a tutti" mi sembra di essere ad una riunione per disintossicarmi da qualcosa....
"Mi chiamo Nicola... ed il mio problema.... E' IL VISUAL BASIC!!!!"...

Va beh lasciamo stare!!!!

Sapreste dirmi come potrei realizzare il posizionamento automatico di un form child quando ad esempio lo si trascina vicino ad un bordo della form mdi?
(Per darvi un'idea così come quando si avvicina il winamp ad uno dei bordi dello schermo....)

Spero di ricevere qualche dritta!!

Grazie a tutti... alla prossima seduta!!!

Brainkiller Profilo | Guru

>Sapreste dirmi come potrei realizzare il posizionamento automatico
>di un form child quando ad esempio lo si trascina vicino ad un
>bordo della form mdi?
>(Per darvi un'idea così come quando si avvicina il winamp ad
>uno dei bordi dello schermo....)

Esatto è il docking. Di solito ci sono componenti preconfezionati.
Se lo vuoi fare manualmente è sufficiente che intercetti gli eventi di dragging o mouseove e verifichi ogni secondo dove è posizionata la form. Sono 4 conti matematici da fare (addizioni e sottrazioni). Quando il bordo è vicino al bordo del contenitore lo sposti direttamente incollato.
Più facile da farsi che dirsi.
CIao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

shark986 Profilo | Junior Member

>Se lo vuoi fare manualmente è sufficiente che intercetti gli
>eventi di dragging o mouseove e verifichi ogni secondo dove è
>posizionata la form.

Io qualche prova l'avevo fatta.... il punto è proprio capire gli eventi da intercettare!!!
Tu parli di dragging... ma gli eventi dragdrop o dragover non rispondono se stai spostando una finestra.... e poi (nel caso), li dovrei intercettare nell'MDIChild o nell'MDI?!?!? Io ho provato ad intercettarli in entrami ma non succede nulla!
Anche per quanto riguarda il mouseover succede la stessa cosa... quell'evento non risponde se il mouse è sulla barra del titolo della finestra... e anche qui, dove dovrei intercettarlo? MDIChild o MDI? Presumo nell'MDIChild perchè se anche intercetto l'evento nell'MDI, se ho il mouse su un'altra finestra l'evento non viene generato (nell'MDI intendo)!!

Spero di sbagliare qualcosa nel ragionamento perchè almeno così capisco e risolvo!!!!

>Sono 4 conti matematici da fare (addizioni
>e sottrazioni). Quando il bordo è vicino al bordo del contenitore
>lo sposti direttamente incollato.

Questo non è un problema!!

>Più facile da farsi che dirsi.

Magari!!!!

>CIao
Ciao e grazie!

P.S.: Se hai un esempio ti crea problemi mandarmelo? ( shark986@libero.it )...
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