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 :

Pb avec les onglets / Tabcontrol


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut Pb avec les onglets / Tabcontrol
    Bonjour a toutes et a tous,
    Voila je sollicite votre aide car je n'arrive pas a faire ce que je veut. J'ai écumé le Tutu de Monseigneur Lasserre et rien n'y fait je n'y arrive pas.
    En fait mon pb est le suivant : lorsque je double click sur un noeud de mon treeview je veu que cela ouvre un onglet, lequelle possèdera un datagridview qui se connectera a une base Access.
    Ce que je voulais faire c'est lorsque je doudleclick sur le noeud ayant tel nom j ouvre un onglet. Cela fonctionne bien, mais lorsque je clik sur un autre noeud, je n'est pas de nouvel onglet mais plutot une mise a jour de celui ouvert précedement.

    La méthode que j'utilise n'est pas la bonne je crois... Mais je sèche un peu.
    Je vous remercie pour votre aide

    Voila le code:
    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
    Public Sub TreeView1_Doubleclick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tree.DoubleClick
            Dim str As String
            Dim onglet2 As TabPage
            If tree.SelectedNode IsNot Nothing Then
                str = tree.SelectedNode.Text.ToString
                If str.Contains("Modul") = True Then
          'traitement 
                 ' Selon le noeud doubleclické ouvrir tel ou tel onglet.
                ElseIf str = "Blocs FB" Or str = "Blocs FC" Or str = "Blocs DB" Or str = "Blocs OB" Or str = "Blocs FB" Or str = "Mémentos" Or str = "Temporisateurs" Then
                    onglet1 = Config
                    Onglet.TabPages.Remove(TabPage1)
                    Onglet.TabPages.Remove(Config)
                    Onglet.TabPages.Add(onglet1)
                    onglet1.Text = str
                    Label2.Text = "Configuration " & str
                    Onglet.Visible = True
                End If
            End If
        End Sub
    PS: Soyez indulgent je débute. (2 mois seulement)

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    Salut

    Tu bosserais avec des automates Télémcanique, des fois ?

    Ce que je voulais faire c'est lorsque je doudleclick sur le noeud ayant tel nom j ouvre un onglet. Cela fonctionne bien, mais lorsque je clik sur un autre noeud, je n'est pas de nouvel onglet mais plutot une mise a jour de celui ouvert précedement.
    Tu pourrais nous montrer ton arborescence de noeuds...
    - Niveau 1
    - Niveau 1.0
    - Niveau 1.1
    + Niveau 2
    ...
    Tu doubles click sur le Niveau 1 et tu ouvres un onglet
    Tu doubles click sur le niveau 1.0 et tu souhaites actualiser

    J'ai pas du tout comprendre...

    Gwendal

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Effectivement je bosse avec des automates Telemecanique

    En fait en clikan sur le noeud 1 je veux rien a faire a part développer le noeud, c'est sur le noeud 1.0, 1.1 ... que je veu ouvrir un onglet. Et cet onglet a une Datagridview qui se connecte a une base pour pour pouvoir saisir des informations ... Enfin tu vois ce que je veux faire j'imagine... C'est de la saisie de parametrages.
    Je suis débutant et la je piétinne un peu avec les onglets...
    Merci pour le coup de main !

  4. #4
    Membre actif

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Points : 270
    Points
    270
    Par défaut
    re,

    Je connais pas le contrôle TreeView... Sur ce que j'ai vu, chaque noeud contient une propriété Tag ou l'on stocke ce que l'on veut.
    L'idée:
    Dans tes noeuds enfant, sur la propriété Tag tu pourrais indiquer Enfant. Ensuite lorsque l'utilisateur clique tu vérifies le tag s'il contient enfant tu valides ton traitement....

    Autrement il doit bien y avoir une propriété indiquant si le noeud sélectionné est un noeud enfant ou parent ?

    Bonne recherche

    Gwendal

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Bonjour Gwendal, en fait mon pb n'est pas là.
    Mon souçi vient de la gestion des onglets, je ne comprends pas comment faire en sorte d'en ouvrir un (créer dans Design) et de n'afficher que celui que je veux (en fonction du noeud selectionné), voir plusieurs (si clik sur d'autres noeuds).
    Vois tu ce que je veu dire ?
    Merci

    Damien

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Même pour être plus précis encore, j'arrive bien à créer un onglet lors d'un clic sur un noeud, MAIS si je clic sur un autre noeud l'onglet courant est modifié, or ce n'est pas ce que je veux, c'est l'ouverture d'un second onglet...
    Merci

    Damien

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Bonjour j'aimerais relancer la discussion ...
    Someone can help me ?

  8. #8
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Salut,

    dit moi, tu es obligé de passer par un contrôle TabControl ?

    Moi, j'ai créé un arbre (treeview) dont chaque objet était lié à un UserControl.
    Donc un arbre à gauche, un panel à droite (le tout séparé par un control Splitter).
    Lors de ton double click sur ton noeud, tu affiche le UserControl qui lui est associé dans le panel (tu peux utiliser Tag au niveau du noeud pour cela). Tu pense à vider ton panel avant, grace à la fonction Controls. Et le tour est joué.

    @ +
    Si tu as besoins de ton controle TabControl, c'est sensiblement la même chose.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Salut,

    dit moi, tu es obligé de passer par un contrôle TabControl ?
    Oui je suis obligé. Ca m'as été imposé et en plus, je veux garder un onglet ouvert losque je clik sur un autre noeud. Chose que tu ne peux pas faire avec un panel...?

    J'ai jamais utilisé de Usercontrol ... Il faut que je me penche dessus.

    Damien

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Pourrais tu me montrer ton code ou tu utilise Usercontrol.
    Parceque je vois pas bien l'application.

    Merci

    Damien

  11. #11
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Alors,
    Chose que tu ne peux pas faire avec un panel...?
    Si tu peux puisque tu contrôle ton affichage. Tu modifie le contenu du panel que sur un double click sur un noeud. Tu aura donc un usercontrol par type d'affichage.
    Exemple : Noeud 1 => UserControl 1
    Noeud 2 => UserControl 2
    etc

    En faite, le contrôle TabControl, n'est intéressant que si tu as plusieurs onglets pour un même noeud.
    Panel, si tu en n'a qu'un seul, en plus c'est moins lourd à gérer en mémoire.

    Quoiqu'il en soit, tu peux utiliser ma méthode avec un TabControl
    Donc, si tu as plusieurs onglets, crée le ou les onglets communs (s'il y en a), et les autres onglets vides. Si Noeud 1 doit afficher 2 onglets et Noeud 2 doit afficher 2 Onglets, tu ne crée que 2 onglets.
    Tu crée un usercontrol, tu y mets ce que tu veux afficher.
    Lorsque tu double click sur un noeud, tu charge ton UserControl comme contenu de ton onglet.
    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim uc as New UserControl1()
    Dim onglet2 As TabPage
    onglet2.controls.Add(uc)
    uc.dock = System.....Fill
    ' suite de ton traitement
    Voilà, en espérant avoir été claire.
    @ +

  12. #12
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 88
    Points : 99
    Points
    99
    Par défaut
    Alors un UserControl, c'est un peu comme un form, mais que tu affiche dans un form, un panel, un groupBox, ...
    Il sert à mutualisé ton code ou à le rendre plus dynamique.

    @ +

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    D'accord je vais faire ca. Je ne connaissais pas cette méthode Usercontrol, et elle a l'air tres utile.
    En tous cas Merci Lunelame !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    J comprends pas ... Je n'y arrive pas, suis même déboussolé ! J'arrive pas a utilisé les usercontrols. Il doit y avoir quelque chose que je comprends pas.

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 60
    Points
    60
    Par défaut
    Bon bah pb résolu, mais pas grâce a Usercontrol ... Dommage.

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

Discussions similaires

  1. Problème avec les onglets et web browser
    Par Nanos dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/09/2009, 19h45
  2. Problème avec les onglets
    Par guiguilelotois dans le forum LabVIEW
    Réponses: 4
    Dernier message: 01/05/2009, 20h33
  3. Pb avec les onglet de formulaire
    Par sebac dans le forum Access
    Réponses: 1
    Dernier message: 19/07/2007, 17h05
  4. Gros problèmes avec les onglets
    Par poussinphp dans le forum Delphi
    Réponses: 1
    Dernier message: 23/10/2006, 15h51

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