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

VB.NET Discussion :

Gestion de forms enfant


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut Gestion de forms enfant
    Bonjour,
    Je vous explique mon petit souci.

    J'ai un programme avec une form principale qui doit contrôler d'autres forms.
    Chaque form, y compris la principale a besoin d'un ensemble de fonctions pour traiter des données.
    Pour faire simple il y a une form de contrôle qui gère d'autres forms chacune ayant une connexion avec un serveur.

    Je pensais faire donc dans la form de contrôle une List(of FormEnfant) pour pouvoir les contrôler facilement. Et pour avoir accès aux fonctions dans les forms je pensais mettre des classe en inherits : au moins dans ces classes j'ai accès aux properties des forms et dans les forms j'ai accès aux fonctions des classes.

    Voila je sais pas si je suis très clair. Je voulais donc savoir si quelqu'un avait une meilleure idée d'organisation : je sais pas si celle la est très performante et optimisée.

    Merci beaucoup

  2. #2
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    Bonjour,

    pourquoi pas, je n'ai jamais utilisé de tels procédés.
    Mais je ne comprend pas pourquoi tu a besoin de gérer tes forms enfants.
    tu veux les fermer ou exécuter des fonctions à partir de ta fenêtre de contrôle?

  3. #3
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Merci,

    Oui j'ai besoin d’exécuter les fonctions a partir d'un autre fenêtre qui gère les enfants pour synchroniser leur actions. Chaque enfant étant une connexion avec un serveur.

    J'ai absolument besoin de cette form de contrôle et des enfants sépares. Mais je ne sais pas justement comment les gérer depuis la form de contrôle, d’où l'idée des List pour pouvoir les parcourir facilement, vérifier leur activité.

    Mais le truc c'est que j'ai pas besoin de tout ce qui a non plus dans les forms... Je dois exécuter leurs fonctions depuis la form de contrôle et récupérer la valeur de leurs variables.

  4. #4
    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
    Bonjour,

    En insérant dans ta forme principale un Tabcontrol, tu peux mettre le contenu cette forme dans la TabPage 0, puis transférer les formes secondaires dans les autres onglets.
    Voir cette discussion : http://www.developpez.net/forums/d11...ceder-onglets/
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Salut,

    tu peux abonner ton form parent à des évènements lancés par tes form enfants, puis, une fois reçu, répercuter l'info à l'ensemble des forms enfants souhaités.

    Exemple avec un changement de couleur demandé par un des enfants par le biais de la méthode SetNewEnfantColor:
    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
    Public Class FormParent
        Inherits Form
     
        WithEvents frmEnfant1 As FormEnfant1
        WithEvents frmEnfant2 As FormEnfant2
     
        Private Sub FormParent_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AddHandler frmEnfant1.EnfantColorChanged, AddressOf ChangeEnfantsColor 'abonnement à l'évènement de l'enfant
            AddHandler frmEnfant2.EnfantColorChanged, AddressOf ChangeEnfantsColor 'abonnement à l'évènement de l'enfant
        End Sub
     
        Sub ChangeEnfantsColor(ByVal color As Color)
            'on repercute à tout les enfants
            frmEnfant1.BackColor = color
            frmEnfant2.BackColor = color
        End Sub
     
    End Class
     
    Public Class FormEnfant
        Inherits Form
     
        Public Event EnfantColorChanged(ByVal color As Color)
     
        Sub SetNewEnfantColor(ByVal color As Color)
            RaiseEvent EnfantColorChanged(color) 'envoi l'info au form parent
        End Sub
     
    End Class
     
    Public Class FormEnfant1
        Inherits FormEnfant
     
    End Class
     
    Public Class FormEnfant2
        Inherits FormEnfant
     
    End Class
    J'avais appris ça en Java (Listeners).
    J’ai des questions à toutes vos réponses!

  6. #6
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup de vais réfléchir sur tout ça.

    Bonne chance pour vos projets.

  7. #7
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Bon alors en fait, on ne peut pas réellement de la manière que j'ai dite car les évènements ne sont pas disponibles dans les classes héritées..

    Quoiqu'il en soit le principe marche et pour que tu comprenne bien, je te met un projet test en fichier joint.

    Bon code.
    Fichiers attachés Fichiers attachés
    J’ai des questions à toutes vos réponses!

  8. #8
    Membre du Club Avatar de gaetan13
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juillet 2010
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup d'avoir pris le temps de faire un projet. Je vais étudier les solutions.

    Encore merci.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/01/2008, 18h11
  2. [Gestion de formes 2D / 3D][Empilements et collisions]
    Par Théolude dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 01/06/2007, 17h11
  3. [Delphi.net] : Gestion multi form
    Par PH69 dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 20/03/2006, 22h04
  4. [C#] Application MDI (instancier les form enfants)
    Par EFCAugure dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/10/2005, 11h30
  5. [VB.NET]La bonne gestion des forms
    Par Wintermute dans le forum Windows Forms
    Réponses: 11
    Dernier message: 13/01/2004, 16h35

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