Я хотел бы отобразить окно состояния в моем приложении C# Windows Forms, которое информирует пользователя, когда приложение ожидает получения блокировки. Это приложение, определяемое приложением, однако окно должно быть видимым и всегда оставаться поверх всех других окон моего приложения, даже когда пользователь нажимает на другое окно (например, большее главное окно позади него).Как сохранить окно поверх всех других окон только в моем приложении?
Это не должно быть модально (так что ShowDialog() не может быть использован), потому что приложение должно продолжать пытаться в фоновом режиме и автоматически закрыть окно, если в конечном итоге его можно будет захватить, и это действительно не должно быть самым большим для всей оконной станции (т.е. всех приложений, работающих в этом сеансе терминала).
Я знаю свойство Form.TopMost, но оно может содержать только одно окно, кроме всех других, даже из других приложений. Это явно не то, что я ищу.
Я знаю, что это возможно, я видел это много раз раньше в других приложениях. Я просто не знаю, как это можно сделать.
Непосредственно, но если вы хотите запустить несколько разных классов форм поверх основного родителя и сохранить исходную временную шкалу событий, то полностью опустите свойство владельца. Таким образом, каждое дочернее окно, открытое родителем, останется открытым поверх родителя. Только скрытый при взаимодействии с родительским окном, но будет оставаться включенным, но потерян фокус при взаимодействии с другими дочерними окнами, открытыми родителем. Непосредственное использование свойства владельца приводит к странному и неустойчивому поведению в дочерних окнах. – IbrarMumtaz