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

 .NET Discussion :

Déplacement des Tabpages d'un TabControl à l'aide de la souris


Sujet :

.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Déplacement des Tabpages d'un TabControl à l'aide de la souris
    Allo,

    Après plusieurs tentatives infructueuses dans mon code. Je tente ma chance sur le forum.

    Résumé de la situation. Dans un formulaire, j'ai un TabControl avec 2 TabPages. Je veux pouvoir déplacer un table page dans un nouveau formulaire grâce au bouton de droite de la souris. Ce que je fais sans problème. Lorsque je ferme le formulaire créé précédemment. je veux que son contenu donc son tabPages s'ajoute au Tabcontrol du premier formulaire. Ce que je fais aussi sans problème.

    La ou cela se gâte, c'est lorsque je veux faire le même déplacement décrit précédemment pour une 2e fois. Quand j'ai fermé mon formulaire la 1ere fois, les variables ont naturellement être détruite mais j'ai pu recopié le contenu dans le tabcontrol. J'ai tenté de les déclarer par with events cela a fonctionné mais je ne réussis a recopié le contenu maintenant.

    Dans cette exemple, le problème se situe au niveau de la procédure fe_formclosed à la ligne Me.TabMain.TabPages.Add(Me.tc.SelectedTab).

    Merci de votre support.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Public Class Form1
        '  WithEvents fe As New Form
        ' WithEvents tc As New Windows.Forms.TabControl
     
        Private Sub fe_Formclosed(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim myTabPage As New TabPage()
            myTabPage.Text = "TabPage"
            Me.TabMain.TabPages.Add(Me.tc.SelectedTab)
        End Sub
     
        Private Sub main()
            Me.Show()
        End Sub
     
     
     
        Private Sub TabMain_MouseMove(sender As Object, e As MouseEventArgs) Handles TabMain.MouseMove
            If (e.Button = MouseButtons.Right) Then
                TabMain.DoDragDrop(TabMain.SelectedTab, DragDropEffects.Move)
            End If
        End Sub
     
        Private Sub TabMain_GiveFeedback(sender As Object, e As GiveFeedbackEventArgs) Handles TabMain.GiveFeedback
            e.UseDefaultCursors = False
        End Sub
     
        Public Sub TabMain_QueryContinueDrag(sender As Object, e As QueryContinueDragEventArgs) Handles TabMain.QueryContinueDrag
            If Control.MouseButtons <> MouseButtons.Right Then
                e.Action = DragAction.Cancel
                Dim fe As New Form
                Dim tc As New Windows.Forms.TabControl
                tc.Dock = DockStyle.Fill
                AddHandler fe.FormClosed, AddressOf fe_Formclosed
                fe.Size = New Size(400, 300)
                fe.StartPosition = FormStartPosition.Manual
                fe.Location = MousePosition
                tc.TabPages.Add(TabMain.SelectedTab)
                fe.Icon = Me.Icon
                fe.Controls.Add(tc)
                fe.Show()
                Me.Cursor = Cursors.Default
            Else
                e.Action = DragAction.Continue
                Me.Cursor = Cursors.Help
            End If
        End Sub
     
     
    End Class

  2. #2
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Essaye de passer par un objet et une propriété par exemple:
    Propriété COPIE: état=> Copie-Couper-Coller-Vide
    Objet EN_COPIE: Si l'état de COPIE est Copie ou Couper=> alors tu remplie l'objet ; Si l’état est coller tu remplie le formulaire a partir l'objet et tu vide l'objet; si vide tu fait rien.
    Dans ce sens la c'est plus propre

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par charouel Voir le message
    Essaye de passer par un objet et une propriété par exemple:
    Propriété COPIE: état=> Copie-Couper-Coller-Vide
    Objet EN_COPIE: Si l'état de COPIE est Copie ou Couper=> alors tu remplie l'objet ; Si l’état est coller tu remplie le formulaire a partir l'objet et tu vide l'objet; si vide tu fait rien.
    Dans ce sens la c'est plus propre
    Merci de ta réponse mais dans ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Private Sub TabMain_MouseMove(sender As Object, e As MouseEventArgs) Handles TabMain.MouseMove
            If (e.Button = MouseButtons.Right) Then
                TabMain.DoDragDrop(TabMain.SelectedTab, DragDropEffects.Move)
            End If
        End Sub
    j'utilise le dragdrop donc cela ressemble a ce que tu mentionne mais j'aurais plutot besoin d'un exemple avec du code pour peut-être mieux saisir ton intervention.
    Merci d'avance Charouel

  4. #4
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    ta pas mis le bon combinaison
    essaye avec DragDropEffects.Copy et non pas DragDropEffects.Move

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub TabMain_MouseMove(sender As Object, e As MouseEventArgs) Handles TabMain.MouseMove
            If (e.Button = MouseButtons.Right) Then
                TabMain.DoDragDrop(TabMain.SelectedTab, DragDropEffects.Copy)
            End If
     End Sub

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Ca contourne le problème ais cela ne le règle pas de la façon dont je voulais que les onglets se comportent.

    J'avais déjà essayé cette option mais je vais m'en contenter pour le moment.

    Merci Charouel de ta collaboration.

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

Discussions similaires

  1. Parcourir les contôles des Tabpages d'un Tabcontrol
    Par dstevens dans le forum Windows Forms
    Réponses: 7
    Dernier message: 21/10/2009, 15h47
  2. Problème Ordre des Tab dans un TabControl VB.Net
    Par yenissay1 dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/05/2007, 23h31
  3. Rendre invisible des tabpages d'un tabcontrol
    Par belocom dans le forum VB.NET
    Réponses: 10
    Dernier message: 25/05/2007, 16h42
  4. Réponses: 2
    Dernier message: 15/09/2006, 13h18
  5. [VB.NET] Couleurs des onglets d'un TabControl
    Par ineznia dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/04/2004, 14h18

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