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

C# Discussion :

Executer un nouveau formulaire en "arrière plan"


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut Executer un nouveau formulaire en "arrière plan"
    Bonjour tout le monde, je souhaite executer un nouveau forumulaire à partir d'un forumulaire principal, mais je ne veux pas qu'il soit au dessus du principal. Donc, je peux cliquer sur le formulaire principal même si le nouveau forumulaire est executé. Comment faire?

    À partir du formulaire principal, j'ai fais ça, mais comme je l'ai dis, je n'ai plus le controle sur le frmPrincipal jusqu'à ce que je veux ferme frmCalculerHT, ce que je ne souhaite pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            private void btnCalculerHT_Click(object sender, EventArgs e)
            {
                FrmCalculerHT frmCalculerHT = new FrmCalculerHT();
                frmCalculerHT.ShowDialog(); 
            }

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    La méthode ShowDialog() provoque l'effet que tu décris.
    Si tu veux pouvoir récupérer la main sur l'interface principale, tu peux utiliser un la méthode Show().

    Après si tu veux que ta nouvelle fenêtre ne s'ouvre pas au dessus de la fenêtre principale, tu peux éventuellement l'ouvrir en mode réduite :
    http://msdn.microsoft.com/fr-fr/libr...(v=vs.80).aspx

  3. #3
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    bonjour,

    la méthode de binoo avec le Show() combinée à l'une des deux solutions suivantes :
    - SendToBack() sur le nouveau formulaire
    - BringToFront() sur ton formulaire principal.

    Le comportement est un peu différent, mais à toi de voir ce que tu souhaites faire.

    Bon dév.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 13
    Par défaut
    Merci les gars!
    La méthode Show() était exactement ce que je cherchais.

    sisqo60, quelle est la différence entre Show() et Show() combiné avec BringToFront() ?

    J'en ai pas vu en testant

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Citation Envoyé par Skder Voir le message
    je souhaite executer un nouveau forumulaire à partir d'un forumulaire principal, mais je ne veux pas qu'il soit au dessus du principal.
    Dans le cas suivant : Il affiche ton formulaire (FrmCalculerHT) et met le formulaire courant (certainement ton formulaire principal) au dessus de toutes les fenêtres ouvertes (pas seulement celles de ton application). Donc ton formulaire FrmCalculerHT sera en seconde position quel que soit le nombre de fenêtres ouvertes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private void btnCalculerHT_Click(object sender, EventArgs e)
            {
                FrmCalculerHT frmCalculerHT = new FrmCalculerHT();
                frmCalculerHT.Show(); 
                this.BringToFront();
            }
    alors que le code ci-dessous, envoie le formulaire FrmCalculerHT à la dernière position des toutes les fenêtres ouvertes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private void btnCalculerHT_Click(object sender, EventArgs e)
            {
                FrmCalculerHT frmCalculerHT = new FrmCalculerHT();
                frmCalculerHT.Show(); 
                frmCalculerHT.SendToBack();
            }
    Donc, forcément le résultat n'est pas le même, mais ça correspond à ton souhait initial car la méthode Show uniquement place le nouveau formulaire au dessus de ton formulaire principal...(citation au début de mon post), sinon j'ai pas compris ton besoin

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

Discussions similaires

  1. [AC-2010] Afficher un formulaire sans l'arrière plan Access
    Par Galven dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/04/2015, 09h38
  2. [AC-2007] Forcer un formulaire à rester en arrière-plan
    Par Massanga dans le forum IHM
    Réponses: 4
    Dernier message: 02/12/2009, 09h01
  3. Executer .bat en arrière plan
    Par Freektrax dans le forum C++Builder
    Réponses: 27
    Dernier message: 08/01/2007, 08h28
  4. modifier arrière plan de formulaire
    Par stan30160 dans le forum IHM
    Réponses: 8
    Dernier message: 01/06/2006, 11h07

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