Je voudrais afficher une fenêtre d'état dans mon application C# Windows Forms qui informe l'utilisateur lorsque l'application est en attente d'acquérir un verrou. C'est une chose définie par l'application, cependant, la fenêtre devrait être visible et rester toujours au-dessus de toutes les autres fenêtres de mon application, même lorsque l'utilisateur clique sur une autre fenêtre (comme par exemple la plus grande fenêtre derrière). Il ne doit pas être modal (donc ShowDialog() ne peut pas être utilisé) parce que l'application doit continuer à essayer en arrière-plan et fermer automatiquement la fenêtre si le verrou pourrait finalement être acquis, et il ne devrait pas être le plus haut pour l'ensemble de la fenêtre (c'est-à-dire toutes les applications qui s'exécutent dans cette session de terminal).Comment conserver une fenêtre au-dessus de toutes les autres fenêtres de mon application uniquement?
Je connais la propriété Form.TopMost, mais elle ne peut qu'apporter et conserver une seule fenêtre au-dessus de toutes les autres, même celles provenant d'autres applications. Ce n'est clairement pas ce que je cherche.
Je sais que c'est possible, je l'ai déjà vu plusieurs fois dans d'autres applications. Je ne sais pas comment cela peut être fait.
Non directement lié, mais si vous souhaitez lancer plusieurs classes de formulaire différentes en plus du parent principal et conserver le scénario d'ouverture d'origine, omettez la propriété owner. De cette façon, chaque fenêtre enfant ouverte par le parent restera ouverte sur le parent. Uniquement masqué lors de l'interaction avec la fenêtre parente, mais reste activé mais perd le focus lors de l'interaction avec d'autres fenêtres enfants ouvertes par le parent. L'utilisation incohérente de la propriété propriétaire entraîne un comportement étrange et erratique sur les fenêtres enfants. – IbrarMumtaz