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 :

Form qui apparaissent en arrière plan


Sujet :

C#

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut Form qui apparaissent en arrière plan
    Bonjour.

    Je rencontre parfois le problème suivant:

    Je fais un :

    _form = new MaForm();
    _form.Show();

    et la fenetre apparait bien dans la barre des taches.
    elle n'est pas minimisée
    mais elle apparait aléatoirement en arrière plan, derrière les autres applications affichées sur le bureau .

    Biensur j'ai essayé de jouer avec les parametres suivant pour la forcer au premier plan au moment où elle apparait :
    Visible
    TopLevel
    TopMost

    TopMost fonctionne, seulement je ne veux pas la laisser TopMost, je veux juste qu'elle apparaisse au premier plan, puis une fois affichée on peut la mettre en arrière plan.

    Quelqu'un aurait il une explication ou astuce pour faire un Show fiable?

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    et _form.show(this) ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Salut,
    Veuillez essayer avec la méthode "ShowDialog" je crois que ça va bien marcher:


    =============
    www.How2Prog.Com

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et _form.show(this) ?
    ca ne change rien, d'ailleur je fais souvant un show(autreform)

    le plus étrange, c'est le coté aléatoire du phénomène.

    ShowDialog ca ne va pas car ma fenetre n'est pas modale.

  5. #5
    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
    TopMost fonctionne, seulement je ne veux pas la laisser TopMost, je veux juste qu'elle apparaisse au premier plan, puis une fois affichée on peut la mettre en arrière plan.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    _Form.TopMost = true ; 
    _Form.Show();
    _Form.TopMost = false;
    Si ça ne marche pas, mettre la 3ème instruction dans l'event Activated de la form.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    _Form.TopMost = true ; 
    _Form.Show();
    _Form.TopMost = false;
    C'est ce que j'avais essayé justement, et meme en intercallant des Application.DoEvents au milieu de tout ça , ça ne fonctionnait pas.

    Je viens de suivre ton dernier conseil : TopMost True dans le designer puis TopMost false dans Activation. Et ça a l'air de fonctionner mais je reste prudent vu que le problème est aléatoire...

    Edit : merci au fait

Discussions similaires

  1. [CS5] étoiles qui scintillent en arrière plan AS2
    Par titeperrine dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 08/04/2012, 15h44
  2. Réponses: 0
    Dernier message: 11/03/2009, 16h30
  3. Une fenêtre qui reste en arrière plan ?
    Par supergrey dans le forum Windows
    Réponses: 7
    Dernier message: 27/06/2008, 16h40
  4. Réponses: 5
    Dernier message: 19/02/2007, 11h07
  5. Réponses: 11
    Dernier message: 03/09/2006, 21h25

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