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 :

Drag & Drop de TabPage/Onglet


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut Drag & Drop de TabPage/Onglet
    salut les gens

    J'utilise un TabControl, contenant des TabPage (des onglets quoi).
    j'aimerais pouvoir faire du drag & drop avec ces onglets, les échanger de place en live (comme dans firefox par ex), mais je ne trouve pas la méthode.

    J'ai trouvé de multiples solutions pour déplacer un onglet d'un TabControl à un autre par exemple, mais rien de concret sur ce que je veux réellement. Et je n'arrive pas à adapter ces exemples à mon cas, même en bidouillant avec les
    DoDragDrop, DragDrop, et autres DragEnter, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void monTabControl_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) 
            { 
                if (e.Button == MouseButtons.Left) 
                {
                    this.monTabControl.DoDragDrop(this.monTabControl.SelectedTab, DragDropEffects.All);
                }...........................................
            }
    private void monTabControl_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
            {
                TabPage DropTab = (TabPage)(e.Data.GetData(typeof(TabPage)));
                this.monTabControl. .......... ........... .....
            }
    A la vue des messages trouvés, ca semble impossible nativement. Mais tous les messages que j'ai lus datent un peu, et ca m'étonne que ca soit si compliqué...

    Quelqu'un aurait il une piste svp?
    un tiens vaut pas mieux que zéro tu l'auras pas

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    C'est certainement possible mais ca va nécessiter sans doute pas mal de code.
    Sinon, je peux te suggérer l'utilisation des controles DockPanel (DLL WeifenLuo.WinFormsUI.Docking) qui font cela nativement.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut
    Etrange que ca soit pas prévu... C'est pas que je soit fénéant, mais ca me parait assez commun...
    DockPanel à l'air pas mal, je vais voir si je peux partir la dessus, je reviendrai donner des nouvelles.
    merci bcp pour l'info
    un tiens vaut pas mieux que zéro tu l'auras pas

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Sinon, je peux te suggérer l'utilisation des controles DockPanel (DLL WeifenLuo.WinFormsUI.Docking) qui font cela nativement.
    +1, très bien ces contrôles !

    Citation Envoyé par maVariable Voir le message
    Etrange que ca soit pas prévu... C'est pas que je soit fénéant, mais ca me parait assez commun...
    Faut pas oublier que la plupart des contrôles Windows Forms sont juste des wrappers de contrôles Windows natifs... C'est le cas du TabControl, et ça date un peu, donc c'est pas vraiment étonnant que des fonctionnalités relativement récentes ne soient pas gérées

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Bon, je me demandais si c'était facilement faisable en héritant de TabControl... et on dirait bien que oui
    J'ai publié ça dans le forum Contribuez, ça servira sûrement à d'autres
    http://www.developpez.net/forums/d70...s-deplacables/

  6. #6
    Membre régulier Avatar de maVariable
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 164
    Points : 105
    Points
    105
    Par défaut
    hé ben hé ben, bravo! C'est vraiment top comme idée, et ca marche nickel!
    Je courbe l'échine devant toi

    A mon avis beaucoup de monde vont apprécier ce geste, moi le premier!
    j'ai eu entre temps l'occas de regarder DockPanel, mais je trouve ta solution vraiment sympa, pratique, et simple, donc je vais partir la dessus. Je vais décortiquer ton code pour bien le comprendre, mais en attendant : mille merci à toi!
    un tiens vaut pas mieux que zéro tu l'auras pas

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    n'oublie pas le bouton stp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [Dojo] Drag and Drop d'onglets dans tabcontainer
    Par laminfodev dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 29/12/2009, 09h50
  3. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  4. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

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