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 :

Mettre une Form en avant-plan et la "bloquer"


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut Mettre une Form en avant-plan et la "bloquer"
    Bonjour,
    Mon programme débute en ouvrant une Form appelée FPrin qui ouvre automatiquement une autre qui s'appelle FMenu, mais cette deuxième s'affiche derrière la première, je veux donc que ce soit le contraire, et j'aimerai que la deuxième ne puisse pas se cacher derrière la première quand je clique sur cette deuxième .
    Merci d'avance pour votre aide.

  2. #2
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173

  3. #3
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Affiche FMenu en modal ? (méthode ShowDialog)
    Pas de questions techniques par MP

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    J'ai fait comme vous avez dit càd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FMenu M = new FMenu();            
                M.ShowDialog();
                M.BringToFront();
    Avec ShowDialog, FFond (et non FPrin (je me suis trompé)) ne s'affiche pas, sinon BringToFront ne marche pas.

  5. #5
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    J'ai peut être mal compris ce que tu voulais, et à ce moment le ShowDialog ne va pas effectivement. En fait tu veux avoir accès aux 2 fenêtres mais une des fenêtres doit toujours rester devant, un peu comme certains lecteur vidéo le font.

    Si c'est bien ça, regarde du côté de la propriété TopMost des formulaires
    Pas de questions techniques par MP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    FFond est une image de fond, si je met FMenu devant (c'est bien évidemment parce que c'est le menu) c'est parce que quand je clique sur l'un des boutons, FMenu doit s'enlever ( this.Close(); ).

  7. #7
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Ton formulaire qui s'affiche derrière alors qu'il devrait s'afficher devant, comment et à quel moment tu l'affiches ? Car tu dois l'afficher trop tôt je pense (constructeur ou événement Load du premier formulaire par exemple). Par contre si tu fais l'affichage du second formulaire dans l'événement Shown du premier ça devrait aller.

    En espérant que ma 3ème réponse soit moins à côté de la plaque que les 2 autres. Promis demain je commence à boire
    Pas de questions techniques par MP

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    FFond s'ouvre directement dans Program.cs
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public FFond()
            {
                InitializeComponent();
                this.BackgroundImage = global::MonProg.Properties.Resources.mp001;
     
                FMenu M = new FMenu();            
                M.Show();
            }

  9. #9
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Eh bien voilà, c'est pour ça, comme je l'ai dis juste avant tu l'affiches trop tôt. En gros tu veux afficher FMenu alors que FFond n'est pas encore affiché (tu es toujours dans le constructeur après tout). Résultat tu affiches d'abord FMenu, puis FFond vient prendre naturellement prend la place devant une fois affiché.

    Place ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FMenu M = new FMenu();            
    M.Show();
    Dans l'événement Shown de FFond et ça ira tout de suite mieux.

    Et pour éviter que FMenu ne soit caché par FFond tout en pouvant accéder aux 2 fenêtres, on ajoute le TopMost
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FMenu M = new FMenu();   
    M.TopMost = true;         
    M.Show();
    Par contre, FMenu ne pourra être masqué par aucune fenêtre (pas juste ton application, l'explorateur Windows, ton navigateur Internet, ...), sauf si cette dernière est aussi TopMost ^^
    Pas de questions techniques par MP

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    Avec Shown ça fonctionne, j'avais déjà essayé avec TopMost, mais c'est assez énervant d'avoir le menu au-dessus de toutes les fenêtres.
    Et en utilisant ShowDialog au lieu de Show (comme tu l'avais proposé), je ne peux pas accéder à FFond comme je le désirai.
    Merci beaucoup.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Points : 54
    Points
    54
    Par défaut
    Mmmh, avec ShowDialog ça marche mais... quand j'ouvre une nouvelle form il faudrait que celle-ci aussi soit "collée" à FFond, là en utilisant ShowDialog (même après avoir fermé FMenu et utilisé FormClosed) la nouvelle fenêtre se "colle" à FMenu.

Discussions similaires

  1. mettre une image en avant plan
    Par maxtrident dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 26/11/2013, 19h26
  2. Comment mettre ma Form en avant plan (fixe)
    Par jacko842 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 11/12/2011, 19h16
  3. Mettre une fenêtre en avant plan
    Par nu_tango dans le forum Langage
    Réponses: 0
    Dernier message: 17/09/2010, 04h14
  4. [VB.NET] Mettre une form au 1er plan
    Par Aspic dans le forum VB.NET
    Réponses: 13
    Dernier message: 15/11/2005, 12h51

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