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 :

Souci d'ouverture de form


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Souci d'ouverture de form
    Bonjour,

    j'ai un souci à l'ouverture de mes formulaires.
    En fait j'ai un ToolStripMenuItem avec un menu Initialisation et quelques sous menus...

    En fait chaque sous menu ouvre la même fenêtre mes de manière différente: en gros quand je clique sur Zone, le formulaire avec les zones apparait, quand je clique sur Etat, un nouveau formulaire apparait avec la liste des états, ...

    Pour le moment, mon code ressemble à ceci:

    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
    Private Sub tsmiZone_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmiZone.Click
            ' Pour chaque formulaire contenu dans le MDI
            For Each FZone As Form In Me.MdiChildren
                ' Si le formulaire est du type frmInitialisation et que son titre est Liste des zones
                If TypeOf FZone Is frmInitialisation And FZone.Text = "Liste des zones" Then
                    With FZone
                        ' S'il est réduit on l'agrandit
                        If .WindowState = FormWindowState.Minimized Then
                            .WindowState = FormWindowState.Normal
                        End If
                        ' On le met au premier plan
                        .BringToFront()
                    End With
                    ' On quitte la procédure
                    Exit Sub
                End If
            Next
     
            ' Si aucun formulaire de ce type trouvé, on instancie un nouveau formulaire de type frmInitialisation
            Dim F As frmInitialisation = New frmInitialisation
            With F
                ' F est un enfant de frmMDI
                .MdiParent = Me
                ' F a pour titre Liste des zones
                .Text = "Liste des zones"
                ' Puis on le fais apparaitre
                .Show()
            End With
    Ce code est reproduit pour les différents sous menu (seul le .Text change)

    Ensuite, au chargement du formulaire en question, je charge le ListView en fonction du titre du formulaire(si il y a 'Zone' alors on charge les zones, si il y a 'Etat' alors on charge les états, ...)
    Mon code donne ceci:

    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
        Friend Sub frmInitialisation_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Me.Text = "Liste des zones" Then
                For Each Z As ZoneData In o_MonClient.SessionService.ListeZones
                    Dim L As New LVIZone(Z)
                    lvInitialisation.Items.Add(L)
                Next
                Exit Sub
            End If
            If Me.Text = "Liste des états" Then
                For Each Et As EtatData In o_MonClient.SessionService.ListeEtat
                    Dim L As New LVIEtat(Et)
                    lvInitialisation.Items.Add(L)
                Next
                Exit Sub
            End If
            If Me.Text = "Liste des problèmes de l'appel" Then
                For Each Prob As ProblemeAppelData In o_MonClient.SessionService.ListeProblemeAppel
                    Dim L As New LVIProblemeAppel(Prob)
                    lvInitialisation.Items.Add(L)
                Next
                Exit Sub
            End If
        End Sub
    Mon problème est que lorsque j'ai deux formulaires d'ouvert, lorsque je veux en ouvrir un troisième (du même type mais avec un titre différent), et bien cela ne me change que le titre d'un des deux formulaires déjà ouvert mais sans me changer le contenu du ListViewItem...

    Pour régler mon souci, j'ai pensé à créer un formulaire pour chaque sous menu mais je me retrouverais avec un grand nombre de formulaire à gérer...

    D'où cela pourrait-il venir? et quelle serait la meilleure solution?

    Merci par avance à tous de vos réponses...

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 34
    Points
    34
    Par défaut
    Problème résolu en créant un formulaire pour chaque.

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

Discussions similaires

  1. Soucis avec mise en forme conditionnelle
    Par icecube216 dans le forum Access
    Réponses: 4
    Dernier message: 04/09/2006, 17h08
  2. [VB.NET] Création de control après ouverture du form
    Par boulete dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2006, 12h06
  3. [VB6] Ouverture de Forms Conditionelle dans une procédure
    Par paltron dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 14/02/2006, 10h14
  4. Réponses: 9
    Dernier message: 31/05/2005, 10h05
  5. un champ prend une valeur choisie à l ouverture du form
    Par martonpylon12 dans le forum IHM
    Réponses: 16
    Dernier message: 17/12/2004, 18h23

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