2011-06-09 2 views
0

J'ai une minuterie dans le formulaire de demande principal.WinForms - détecter si des fenêtres de dialogue sont ouvertes

La minuterie affiche un écran nag toutes les N secondes.

Mais je voudrais éviter d'afficher l'écran nag si des fenêtres de dialogue modales sont ouvertes. Sinon, le chevauchement se produira.

Je peux utiliser Application.OpenForms, mais cela ne compte pas les boîtes de dialogue telles que OpenFileDialog.

Comment détecter si des boîtes de dialogue enfant sont actuellement affichées?

+0

Il n'y a aucun moyen simple de faire cela de façon fiable à 100%. Il suffit d'incrémenter une variable statique publique avant que le ShowDialog() ne l'appelle et de la décrémenter par la suite est la meilleure approche. –

+0

@HansPassant: Vous mentionnez le manque d'un moyen simple d'y parvenir de manière fiable. Pourriez-vous nous donner un indice sur la façon d'aborder ce problème de suivi des variables statiques sur un formulaire compliqué? –

Répondre

Questions connexes