Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

imposer le positionnement d'un form a son ouverture

4 réponses
Avatar
Gerald
Bonjour,
je recupere les valeur x et y de mon pointeur lorsque je clique sur un
bouton de form
j'aimerais que le formulaire que j'appelle lorsque je clique sur ce bouton
s'ouvre à l'emplacement du pointeur

dim F as new frmTruc
f.location = new point (x,y)
f.showdialog(me)

le formulaire s'ouvre sur les coordonnees de l'ecran et non pas du
formulaire appelant.
comment puis-je faire pour ouvrir le formulaire F à l'endroit voulu.
dois-je recalculer la position de mon x et y en fonction de l'ecran ou
existe t-il une methode qui me permette de le positionner en fonction du
formulaire parent

Merci

4 réponses

Avatar
Patrice
Je dirais :
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.control.pointtoclient.aspx
pour la transformation

Qu'est ce que cela donne ?

--
Patrice

"Gerald" a écrit dans le message de groupe de
discussion :
Bonjour,
je recupere les valeur x et y de mon pointeur lorsque je clique sur un
bouton de form
j'aimerais que le formulaire que j'appelle lorsque je clique sur ce bouton
s'ouvre à l'emplacement du pointeur

dim F as new frmTruc
f.location = new point (x,y)
f.showdialog(me)

le formulaire s'ouvre sur les coordonnees de l'ecran et non pas du
formulaire appelant.
comment puis-je faire pour ouvrir le formulaire F à l'endroit voulu.
dois-je recalculer la position de mon x et y en fonction de l'ecran ou
existe t-il une methode qui me permette de le positionner en fonction du
formulaire parent

Merci



Avatar
Gerald
merci, j'ai essayé d'utiliser la fonction PointToClient
j'ai modifié mon code pour qu il soit plus general et puisse etre compris
plus facilement
j'ai créé un bouton sur mon form principal
dans la procedure click de ce bouton, j'essaie d'afficher un form à une
position bien particuliere
'' ===================================== Dim B As Button = CType(sender, Button)
Dim F As New frmTruc
F.Location = Me.PointToClient(New Point(B.Bounds.X, B.Bounds.Y))
F.ShowDialog(Me)
'' ===================================== le formTruc se positionne bizarrement
le fait de modifier la propriete startPosition du formulaire, influe sur son
positionnement et j'ai l'impression que le code n'est pas pris en charge
je n'y comprend rien.

Merci de m'aider







"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Je dirais :
http://msdn.microsoft.com/fr-fr/library/system.windows.forms.control.pointtoclient.aspx
pour la transformation

Qu'est ce que cela donne ?

--
Patrice

"Gerald" a écrit dans le message de groupe de
discussion :
Bonjour,
je recupere les valeur x et y de mon pointeur lorsque je clique sur un
bouton de form
j'aimerais que le formulaire que j'appelle lorsque je clique sur ce
bouton s'ouvre à l'emplacement du pointeur

dim F as new frmTruc
f.location = new point (x,y)
f.showdialog(me)

le formulaire s'ouvre sur les coordonnees de l'ecran et non pas du
formulaire appelant.
comment puis-je faire pour ouvrir le formulaire F à l'endroit voulu.
dois-je recalculer la position de mon x et y en fonction de l'ecran ou
existe t-il une methode qui me permette de le positionner en fonction du
formulaire parent

Merci






Avatar
Jérémy Jeanson
Bonjour Patrice et Gérald,

Tu as parfaitement raison de regarder la propriété StratPosition car
effectivement elle a une influence sur ce que tu veux faire.

Pour y arriver il te faudra changer la position sur manuel (logique car
tu veux positionner manuellement ta form à son ouverture).

Me.StartPosition = FormStartPosition.Manual
Me.Location = ....

code testé et fonctionnel ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Avatar
Gerald
merci de te pencher sur mon probleme
j'ai tout essayé au niveau de la propriete startPosition
puisque tu as teste le code, peux tu me le faire parvenir, j'ai des
resultats innatendus et ne comprends pas d'ou ca peut venir
le code que j'ai posté précédemment ne fonctionne pas, j'ai un X et un Y
négatifs



"Jérémy Jeanson" a écrit dans le message de news:

Bonjour Patrice et Gérald,

Tu as parfaitement raison de regarder la propriété StratPosition car
effectivement elle a une influence sur ce que tu veux faire.

Pour y arriver il te faudra changer la position sur manuel (logique car tu
veux positionner manuellement ta form à son ouverture).

Me.StartPosition = FormStartPosition.Manual
Me.Location = ....

code testé et fonctionnel ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr