Besoin d'aide pour un alt tab en C# [Résolu]

Signaler
Messages postés
2
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
23 mars 2009
-
Messages postés
2
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
23 mars 2009
-
Bonjour à tous,

Je débute en C# dans le cadre d'un projet de recherche de fin d'études et j'ai besoin de votre aide en ce qui concerne une manipulation de Form qui me pose problème.

Architecture :

- Une Form principale qui sert de menu à l'utilisateur.
- Un autre type de Form servant à alerter l'utilisateur d'un nouveau message reçu via le réseau (comme une pop-up dans un chat, mais pour chaque message une alerte s'ouvre).

Ceci marche déjà.

Mon objectif est le suivant :

Arriver à faire en sorte que lorsqu'un message est reçu, la Form d'alerte s'affiche (ce qui marche déjà) et repasse sur la fenêtre principale (comme un alt tab ou un click sur la fenêtre en question, ce qui ne marche pas).

Après avoir consulté divers forums sur les Forms, j'ai remarqué l'usage des fonctions Show et ShowDialog par les développeurs.

Mon programme affiche les fenêtres grâce à ShowDialog puisque Show() ne marche pas (la fenêtre fait mine de s'ouvrir mais le contenu n'arrive jamais et le programme plante). De plus, si j'ai bien compris l'usage de Show, cette méthode doit s'appeler après que la propriété Visible soit réglée sur false, ce qui va à l'encontre du principe de mon programme puisque j'aimerais que les alertes restent visibles mais pas activées comme fenêtres principales (barre de titre bleue).

J'ai déjà ajusté la propriété TopMost de ma fenêtre principale à true, mais bien qu'elle reste "au-dessus" des alertes, elle reste grisée au profit de l'alerte la plus récente.

Voilà, je sais que c'est un peu flou mais ceci est mon premier post sur un forum de développeurs donc s'il vous manque certaines précisions d'usage courant veuillez m'en excuser :-)

Merci beaucoup !

Philippe.

1 réponse

Messages postés
2
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
23 mars 2009

Problème résolu !

Pour ceux que ça pourrait intéresser :

il faut utiliser la méthode Activate() sur la form qu'on souhaite rendre active (logique..... :P).

De plus, pour appeler la méthode Show() d'une Form DEPUIS UN THREAD, il est bon d'utiliser un delegate (contrairement à ShowDialog qui bloque l'exécution du code).

Voilà merci quand-même !