Deplacer un bouton dans un form [Résolu]

Signaler
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008
-
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009
-
Bonjour à tous,
Alors voilà, mon problème, c'est que je n'arrive pas à dépalcer un objet (un bouton) sur mon Form... Merci de votre aide.
Fréd.

20 réponses

Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Messages postés
1522
Date d'inscription
mardi 18 décembre 2001
Statut
Modérateur
Dernière intervention
21 août 2010
4
Tu as essayé en modifiant les proprietes Top et Left de ton objet ?

A++

CrazyHT
MVP Visual C#.NET
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
80
Salut,

En changeant la valeur de Location.

/*
coq
MVP Visual C#
*/
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
80
Oups

/*
coq
MVP Visual C#
*/
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008

Merci pour vos réponses; mais je crois que je n'ai pas été assez précis. En fait, ce que je veux c'est pouvoir faire un glisser-déplacer (Drag&Drop) de mon bouton sur mon Form. Le sousis, c'est que je ne trouve que des explications concernant le contenu d’une listbox vers une autre etc....
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Salut fredouille,

Petite précision :
tu veux pouvoir déplacer ton boutton n'importe où sur ta form ou juste vers un endroit prédéfini ?
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008

Salut LUDINSKI,
Alors je veux pouvoir déplacer mon bouton n'importe ou
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Alors je te propose ceci :

// Indique si le boutton gauche de la souris est enfoncé au-dessus du boutton
private bool
_mouseDownOverButton;

// Indique si le boutton est en train d'être déplacé
private bool
_buttonIsMoving;

// Contient les coordonnées de la souris par rapport au coin supérieur gauche du boutton
private Point _cursOnButton;

private void button_MouseMove( object
sender, MouseEventArgs e)
{
if
( _mouseDownOverButton && ! _buttonIsMoving )
{
_buttonIsMoving = true
;
_cursOnButton = new
Point( e.X, e.Y );
button.BringToFront();
}
else if
( _buttonIsMoving )
{
Point point = PointToClient( MousePosition );
button.Left = point.X - _cursOnButton.X;
button.Top = point.Y - _cursOnButton.Y;
}
}

private void button_MouseDown( object
sender, MouseEventArgs e )
{ _mouseDownOverButton ( e.Button MouseButtons.Left );
}

private void button_MouseUp( object
sender, MouseEventArgs e )
{
_mouseDownOverButton = false
;
_buttonIsMoving = false
;
}

private void button1_Click( object
sender, System.EventArgs e )
{
if
( _buttonIsMoving )
return
;

// Traitement à effectuer lors d'un clique sur le boutton
}

Par contre je ne gère pas le cas où le boutton est déplacé hors de la fenêtre...
Messages postés
6352
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
80
Ah oui effectivement c'était une précision légèrement importante...

/*
coq
MVP Visual C#
*/
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008

Merci pour ton code LUUDINSKI,

Mais j'ai un ptit soucis avec le ligne suivante :

_cursOnButton = new Point( e.X, e.Y );

enfait, il me met cette erreur --> Error 1 'System.EventArgs' does not contain a definition for 'X'
--> Error 1 'System.EventArgs' does not contain a definition for 'Y'

merci de m'aider.
Fréd.
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Salut,

C'est que tu n'es pas dans l'évènement MouseMove...

Pour l'intercepter, soit tu passes par le concepteur en mode design
Soit tu ajoute cette ligne (dans le constructeur de ton formulaire par exemple) :
button.MouseMove += new
MouseEventHandler( button_MouseMove );

Idem pour les méthodes button_MouseDown, button_MouseUp et button_Click
Ce sont des méthodes liées à un évènement du boutton !!

Mais sinon, je suis en train de créer une classe permettant de déplacer n'importe quel contrôle sur un formulaire
Je la posterai ici une fois terminé (aujourd'hui normalement !!)

Bye
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008

Dsl pour mon absence j'ai eut quelques soucis... je regarde au plus vite et je te tiens au courant.
Merci de ton aide.
Fréd.
Messages postés
48
Date d'inscription
samedi 19 mars 2005
Statut
Membre
Dernière intervention
20 avril 2008

Voilà, j'ai pris le temps de regarder ton code et c'est ce qu'il me faut... Merci

Fréd
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009

merci pour le code ! javai le mm prb !
X et Y ne contienentt pas de nouvelle  valeur
 il faut tout simplement les inities!

Itshak
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009

le code marche aussi pour des images????????
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009

MERCI
+

Itshak
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009

ct je fai pour sauvegarder la nouvelle  position du bouton
Cad qd je relance le programme je ve que le bouton ait garder la position que je lui ait donner ds le runing precedent 
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Salut Projetf,

Pour déplacer une image en utilisant cette source il faudra déplacer un picture box dans lequel sera dessiné ton image...
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
6
Tu peux encore utiliser les propriétés Left et Top de tes contrôles.

Donc dans l'évènement OnLoad de ton formulaire, tu déplaces tes contrôles :
ctrlLabel.Left = labelLastPos.X;

ctrlLabel.Top = labelLastPos.Y;

Et dans le OnClosing, tu mémorises leur position :
... = ctrlLabel.Left;
... = ctrlLabel.Top;
Messages postés
26
Date d'inscription
dimanche 15 avril 2007
Statut
Membre
Dernière intervention
27 avril 2009

merci mon sauveur !
mais jai trouver un  moyen plus apropries a mon projet.
je travail avc une base de donnee . en fait je doi pouvoir atraver ma bd creer ou modifier un code php qui correspond a un site.
je doi donc conserver les nouveaux point de l'image ds la bd pour les remetre ds le code php.
en tt cas merci pour tout