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?
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. –
@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é? –