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 Presentation Foundation Discussion :

Perte de focus sur une fenêtre modale


Sujet :

Windows Presentation Foundation

  1. #1
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut Perte de focus sur une fenêtre modale
    Bonjour à tous,

    J'ai une fenêtre principale qui s'ouvre au démarrage: win1
    J'ouvre ensuite une deuxième fenêtre (win2) mais cette fois-ci en modale dont la propriété ShowInTaskbar est égale à False.
    Si je clic sur win1, je ne peux évidemment pas y accéder.
    Mais si je clic sur l'icone de win1 dans la barre des tâches, je perd le focus de win2. Il m'est alors impossible de faire quoi que ce soit puisque il y a une fenêtre modale ouverte (win2). J'ai aucun moyen d'accéder à win2 même en faisant alt+tab.

    La seule solution que j'ai trouvé, c'est de mettre la propriété ShowInTaskbar de win2 à true, mais c'est pas le fonctionnement que je veux (plusieurs icone dans la barre des tâches).

    J'espère que je me suis fait comprendre, merci pour votre aide....

  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
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Essaie de mettre ta fenêtre Win2 en TopMost :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <Window ...
      Topmost="True" >
      ...
    </Window>

  3. #3
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Effectivement, c'est mieux comme ça, mais cela place la fenêtre win2 au dessus de toutes les fenêtres de windows.

    Pourquoi, une fenêtre ouverte par showdialog, n'a-t-elle pas le même comportement qu'en winforms?

    Je trouve ça assez ennuyeux....

  4. #4
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Oui c'est un peu une solution foireuse

    Citation Envoyé par yonpo
    Pourquoi, une fenêtre ouverte par showdialog, n'a-t-elle pas le même comportement qu'en winforms?
    Je ne sais pas si c'est voulu ou si c'est un "bug"... C'est vrai que c'est pas génial comme comportement.


    Je pense à une propriété qui va peut-être régler ce point (à tester) : définir la propriété Owner de ta fenêtre Win2 avant de faire ton ShowDialog :

  5. #5
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Merci, ca fonctionne avec ça:

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    win2.Owner = win1
    win2.ShowDialog()

    EDIT: il serait peut-être bien de l'ajouter au FAQ, non? La réponse est simple mais par forcément évidente (surtout si on vient de winforms).

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

Discussions similaires

  1. Outlook et perte du focus sur une fenêtre
    Par Abac_Angelique dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 16/07/2013, 18h28
  2. Réponses: 8
    Dernier message: 29/08/2006, 10h22
  3. [PowerBuilder] Récupérer la main sur une fenêtre modale
    Par jpdar dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 14h21
  4. Réponses: 43
    Dernier message: 03/03/2006, 19h41
  5. Comment détecter la perte de focus d'une fenêtre
    Par Leviathan_72 dans le forum Windows
    Réponses: 5
    Dernier message: 31/12/2005, 00h22

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