IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

comment deplacer une fenetre en la glissant ?


Sujet :

Windows Forms

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut comment deplacer une fenetre en la glissant ?
    bonjour, j'aimerais savoir comment je pourrais déplacer ma fenêtre en cliquant et en glissant ma windowsform ou certains de ses composants.
    est-ce possible ? enfin j'imagine que oui ... ^^
    sur google je ne trouve que des infos sur le drag and drop, qui permet de glisser des infos dans des composants, tel que du texte dans un textbox >_<
    je m'en remets à vous ^^

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    faut trapper l'event de MouseDown pour qu'ensuite, dans le mouseMove, tu déplaces la fenetre du delta entre 2 la position Souris lors du mouseDown et la position souris fournis par MouseMove la premiere fois, et ensuite, entre 2 mouseMove, deplacer ta forme du delta de position.

    Cela fonctionnera quand tu cliqueras sur ta forme

    Si tu veux avoir ce même comportement quelque soit le controle sur lequel tu appuies, il faut que tu t'abonnes à chaque MouseDown et mouseMove de tous les composants présents dans ta forme et faire ensuite le boulot qui va bien.

    Je dirais qu'avec 10 lignes de codes et 10 minutes de dev, tu devrais pouvoir
    réaliser ceci.. en tout cas, c'est ce que sa me prendrait !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Un bout de code extrait d'un source qui gère un déplacer-glisser de Window:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    var Moving=false ;    
     
         private void OrgForm_MouseMove(object sender, MouseEventArgs e)
         {
              PrevMousePosition = System.Windows.Forms.Control.MousePosition;
         }
     
        private void OrgForm_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button.ToString() == "Left" && !Moving )
            {
              Point mp = System.Windows.Forms.Control.MousePosition;
              int DeltaX = mp.X - PrevMousePosition.X;
              int DeltaY = mp.Y - PrevMousePosition.Y;
              OrgForm.SetDesktopLocation(OrgForm.Location.X + DeltaX, OrgForm.Location.Y + DeltaY);
              PrevMousePosition.X = PrevMousePosition.X + DeltaX; ;
              PrevMousePosition.Y = PrevMousePosition.Y + DeltaY; ;
            }
            else Moving = false;
        }
     
        private void OrgForm_MouseUp(object sender, MouseEventArgs e)
        {
           Moving = false;
        }
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 383
    Points : 2 996
    Points
    2 996

Discussions similaires

  1. Comment deplacer une fenetre sans cadre
    Par Geoff-sk8 dans le forum SDL
    Réponses: 5
    Dernier message: 17/08/2006, 21h38
  2. comment fermer une fenetre enfant
    Par stefane1981 dans le forum MFC
    Réponses: 12
    Dernier message: 20/10/2005, 11h32
  3. [Débutant][VE] Comment afficher une fenetre Shell (bean)
    Par antony dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 11/08/2005, 11h46
  4. Comment fermer une Fenetre Modal avec Code ?
    Par Soulama dans le forum Langage
    Réponses: 19
    Dernier message: 13/07/2005, 11h17
  5. Comment effacer une fenêtre DOS ?
    Par Myogtha dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 15/06/2004, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo