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 :

[VB.NET] MainMenu qui ouvre des forms...


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut [VB.NET] MainMenu qui ouvre des forms...
    Bonjour,

    J'ai un MainMenu avec plusieurs choix. Chacun de ses choix correspondent à une form que j'ai préalablement ajouter a mon projet.

    Je désire que quand je clic sur un choix de mon menu la bonne form sois afficher.

    sauf que quand je clic... ma form saffiche bien mais cest une de plus qui souvre et non celle du depart qui es actualiser sur la bonne form choisi...

    Aurais-je oublier un details?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
            Dim AffChambres As New AffChambres
            AffChambres.Show()
        End Sub

    Merci à tous!!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    j'aurais p-e une solution mais je sais pas s'il y en aura une de plus simple que de faire a chaque fois que j'ouvre une form faire un

    qu'en pensez vous?

    merci!

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    je ne crois pas que c'est la meilleure méthode car quand je clic par exemple sur le "X" mon prog roule encore à cause qu'il y a des form de caché....

    je crois donc que je doit avoir une autre solution que celle ci...


    merci!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    tout en haut dans les declarations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim FormOuverte As New TaForm
    dans le bouton qui l'ouvre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If FormOuverte.IsHandleCreated = True Then
                FormOuverte.Show()
            Else
               FormOuverte.Show()
            End If
            FormOuverte.Focus()
    dans l'evenement form_closing de FormOuverte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub FormOuverte_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            Me.Hide()
        End Sub
    Perso j'utilise ce code dans une appli pour une fenetre de log et sa marche bien.Sauf que l'evement me.hide je l'ai pas mit dans form_closing mais dans un boutton.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    merci mais quelques question..

    quand tu dit

    dans le bouton qui l'ouvre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If FormOuverte.IsHandleCreated = True Then 
                FormOuverte.Show() 
            Else 
               FormOuverte.Show() 
            End If 
            FormOuverte.Focus()
    pkoi dans un ou lautre des cas tu fais un "formouverte.show" quand meme est ce que ce ne serai pas redondant par hasard?

    et puis le "formouverte.focus"...??? a quoi ca sert exactement...?


    merci beaucoup!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    oue effectivement il sert a rien le if mais bon c'etait pour ajouter des truc apres c'est pour sa ^^

    sinon formouverte.focus sa sert a donner le focus a la fenetre donc a l'afficher devant les autres

  7. #7
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Je verrai plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Private WithEvents maForm1 As Form1
    '...etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Me.maForm1 Is Nothing Then  Me.maForm1 = New Form1()
    Me.maForm1.Show()
    Me.maForm1.Focus()
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par neguib
    Je verrai plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Private WithEvents maForm1 As Form1
    '...etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Me.maForm1 Is Nothing Then  Me.maForm1 = New Form1()
    Me.maForm1.Show()
    Me.maForm1.Focus()
    chuis desesperer que t'ai toujours solution a tous Je sais pas comment tu fait loool.

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par guillaume1998
    chuis desesperer que t'ai toujours solution a tous Je sais pas comment tu fait loool.
    dis-toi que si j'ai de l'expérience, c'est que j'ai dû commettre beaucoup d'erreurs et résolu de nombreux soucis
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    rebonjour

    je veux pas casser votre fun tout les 2 sauf que votre code bien moi ca me crée une nouvelle fenetre et mon autre d'avant reste visible en arriere.. ce que je ne veut pas! lol

    dans lfond ca revien exactement a ce que je fesais au debut sauf en paraissant plus "cool" héhé

    maintenant je voudrais que mon autre form que jai en dessous ferme quand lautre souvre...


    merci!

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    dans lfond... faudrais juste que je trouve comment lorsque on clic sur le "X" trouver lévénement qui es déclencher... pcq ma vous dire ben franchment....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub FormOuverte_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing 
        End Sub

    ...ca marche pas pentoute!

    mon prog reconnais meme pas

    System.Windows.Forms.FormClosingEventArgs
    Mais
    Private Sub FormOuverte_FormClosing
    est ce que cest quand lon clic sur le "X" de la form.


    merci beaucoup!

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Ben normalement Private Sub FormOuverte_FormClosing c'est lorsque lutilisateur a cliker sur femer

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    ok...

    mais en 2k pour linstant ya rien qui fonctionne! lol

    comme je disais plus haut.. il detecte meme pas le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Windows.Forms.FormClosingEventArgs
    ...et je vourais savoir aussi lorsque je vais etre en mesure de trouver la bonne formule... y a til un moyen de dire que lorsque le programme ferme... toute les forms ferme aussi...

    au lieu de juste dire me.close faire un genre de AllForms.close lol cest ironique mais je crois que vous comprennez ce que je veux!

    merci!

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    Tu travaille sous quel framework et avec quel ide???

    Normalement quand le programme ferme tout ce ferme automatiquement.

    Ya deux possibiliter :

    edit : essaye sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
     
        End Sub

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    jutilise la version du framework 1.1.4322 SP1
    jutilise VS.NET 2003 Enterprise Architect

    ouin c ca jme disais me semble que ca ferme le prog mais i veut rien savoir meme si je met application.exit dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub AffChambres_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
            Application.Exit()
        End Sub
    si je garde votre code bizarre...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Me.AffReserve Is Nothing Then Me.AffReserve = New AffReserve
            Me.AffReserve.Show()
            Me.AffReserve.Focus()
    ca m'ouvre une nouvelle form et celle davant reste en arriere plan.. ce que je ne veu pas... je veux en fait que ma form de depart soit actualiser avec celle que je desire...

    si je garde ma version

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim AffReserve As New AffReserve
    Me.Close()
    AffReserve.Show()
    ma form davant se cache et lorsque je clic sur le bouton "X" en haut a droite de ma fenetre qui sest ouverte et bien mon prog roule encore puisque ma forme du depart es hide...

    c vraiment dla merde! jcomprend pas pkoi ca me fai ca!!!

    jespere que quelqu'un trouvera une solution a mon probleme!!
    ... je suis convaincu que oui!

    merci!

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    C'est bon je viens de tester tout et j'ai enfin trouver la solution ^^.C'est sur que sa marche la:

    Dans les declarations de la form qui ouvre la seconde form
    Dans un boutton ou autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     f2.Show()
            f2.Focus()
    Dans la form a ouvrir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form2_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
            Me.Hide()
            e.Cancel = True
        End Sub
    Je viens de tester tout marche si ty arrive toujours pas je tenverrai la source.

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 53
    Points
    53
    Par défaut
    alors ty arrive?

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    salut

    merci pour ton aide et ton bon vouloir de réussir à trouver mon trouble.. mais.... cela ne veut toujours pas fonctionner... je ne sais pas si cest moi qui est "noob" ou ben trop "vegde" héhé .

    ..ou juste mauvais... rofl!


    p-e de ton coté ca fonctionne tres bien mais p-e aussi que tu voit pas le bug dont je parle.. si tu veu bien menvoyer ta source jaimerais bien ca...


    jattends de tes news!

    merci!

  19. #19
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    il serait mieux que ce soit Toi qui nous eclaire sur ton code commenté et nous l'envoie
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    javoue que ca serai mieux!

    voici mon code que jai

    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
    50
    51
    52
    Public Class AffChambres
        Inherits System.Windows.Forms.Form
     
        Private WithEvents AffReserve As New AffReserve
     
    'Afficher la date dans le label
        Private Sub AffChambres_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim DateDuJour As DateTime
            DateDuJour = Now.ToLongDateString
            lb_date.Text = DateDuJour
     
            cbx_chambre.Enabled = False
            rb_toutes.Checked = True
        End Sub
     
        Private Sub rb_une_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rb_une.CheckedChanged
            cbx_chambre.Enabled = True
        End Sub
     
        Private Sub rb_toutes_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rb_toutes.CheckedChanged
            cbx_chambre.Enabled = False
        End Sub
     
        'Fermeture du programme par le menu
        Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
            Me.Close()
        End Sub
     
        'Afficher l'heure
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            lb_time.Text = TimeOfDay
        End Sub
     
        'Mon code : cachera la form et ouvrira la nouvelle, si clic sur le X... le prog roule encore
        Private Sub MenuItem7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
            Dim AffChambres As New AffChambres
            Me.Hide()
            AffChambres.Show()
        End Sub
     
        'Votre code : laisse la form ouverte a l'arriere puis ouvre une nouvelle form à l'avant
        Private Sub MenuItem12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem12.Click
            AffReserve.Show()
            AffReserve.Focus()
        End Sub
     
        'Lors de la fermeture, cacher la présente form
        Private Sub AffChambres_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
            Me.Hide()
            e.Cancel = True
        End Sub
    End Class
    mes 2 menus ouvre soit par mon code la meme form au depart (affchambres) et par votre code une autre form quelconque (affreserve)

    voici une partie du code généré utile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'MenuItem7
    '
    Me.MenuItem7.Index = 0
    Me.MenuItem7.Text = "Affichage des chambres"
    '
    'MenuItem12
    '
    Me.MenuItem12.Index = 1
    Me.MenuItem12.Text = "Affichage des réservations"
    à noter que la form2 (affreserve) contient exactement le meme code que celui ci plus haut bien sur.. ajusté pour ouvrir les bonnes fenetres!


    jespere que vous y verrez plus clair...

    merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Un OpenFileDialog qui ouvre des fichiers ou dossiers
    Par Ziki_s dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2008, 20h17
  2. Les images qui ouvre des popup....
    Par Sagytarus dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/12/2004, 14h06
  3. Savoir qui ouvre une form
    Par rvzip64 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/07/2004, 16h25
  4. [VB.NET] Classe qui pilote des Fichier .INI
    Par sygale dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/06/2004, 20h04
  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