2015-03-19 1 views
0

J'ai une application que j'exécute dans le débogage pour vérifier une fonctionnalité que je viens d'ajouter. Comme je faisais cela, j'ai découvert que l'application ne se déplace pas vers l'avant quand on clique sur une partie de la barre des tâches.L'application ne se déplace pas vers l'avant lorsqu'elle est mise en évidence à partir de la barre des tâches

Cela ne semble se produire que lorsque l'un des formulaires «enfant» (pas techniquement un enfant MDI) s'ouvre pour afficher l'état d'une tâche lancée par l'utilisateur.

Cette forme enfant n'est PAS présente dans la barre des tâches (l'idée étant qu'elle fait partie de la même application, elle ne devrait donc pas avoir son propre emplacement dans la barre des tâches).

Des idées quelle peut être la cause?

EDIT: Essayer d'élaborer un peu. Le problème est ceci, je vais avoir l'application en cours d'exécution &, ouvrez un programme différent (Excel, Chrome, etc.) et cette nouvelle fenêtre apparaîtra sur mon application. Je clique ensuite sur l'icône de mon application dans la barre des tâches. Il semble avoir le focus, mais la fenêtre ne bouge pas vers l'avant, Excel (ou autre) est encore dessus. La seule façon de réellement voir mon application est de minimiser/fermer tous les autres programmes en cours d'exécution sur cet écran.

+0

Je ne comprends pas .. mais vérifiez si votre "forme enfant" est modale et attendez une action – CristiC777

+0

Le formulaire est définitivement modal (appelez avec ShowDialog) car je ne veux pas que l'utilisateur puisse faire quoi que ce soit sinon, alors que la fenêtre d'état est ouverte. J'ai édité ma question originale pour essayer de clarifier le problème. – JMichael

+0

Hmm, nécessaire pour modifier un peu l'application pour rendre le statut un peu plus significatif sur un cas d'utilisation particulièrement long. Quoi qu'il en soit, je ne sais pas si c'est indirectement le résultat des changements que j'ai faits (douteux) ou juste eu un gremlin hier, mais maintenant je peux obtenir la fenêtre de se déplacer vers l'avant comme prévu. Si quelqu'un a des idées sur ce qui pourrait avoir causé cela, j'aimerais quand même l'entendre. Les Gremlins ont tendance à revenir, et "indirectement" dans mon expérience signifie "probablement pas fixé dans tous les cas". – JMichael

Répondre

0

utilisation sous forme Designer

Form1.Topmost = True 

Voir le MSDN correspondant.
La forme la plus élevée est une forme qui recouvre toutes les autres formes (non supérieures) même si ce n'est pas la forme active ou de premier plan. Les formulaires les plus élevés sont toujours affichés au point le plus haut dans l'ordre z des fenêtres sur le bureau. Vous pouvez utiliser cette propriété pour créer un formulaire toujours affiché dans votre application, tel qu'une fenêtre d'outil Rechercher et remplacer.

+0

Je comprends ce que vous voulez savoir, mais le problème n'est pas que le formulaire ne s'affiche jamais en haut (il est correctement placé lorsqu'il est ouvert). – JMichael

+0

(ne me laisserais pas éditer mon commentaire original) Le problème est quand l'application regagne le focus elle ne se déplaçait pas au début d'autres applications qui n'ont pas TopMost = True (ie à peu près tout autre que le TaskManager) – JMichael

+0

https://support.microsoft.com/fr-fr/kb/169494 >> "Après avoir réduit un programme, cliquer sur le bouton du programme dans la barre des tâches peut ne pas restaurer ou agrandir le programme Si vous utilisez le bouton droit de la souris pour cliquer le bouton du programme dans la barre des tâches, la commande Restaurer ou Maximiser est disponible dans le menu contextuel du programme. " – CristiC777