Есть ли способ узнать дочернее окно MDI в конце z-порядка?

В моем приложении WinForms C# мне нужно найти дочернее окно MDI, которое используется реже всего, т. е. окно, которое в последний раз использовалось дольше всего.

Это для того, чтобы закрыть его, чтобы освободить место для нового окна.

Моя теория состоит в том, что z-порядок (например, контролируемый SendToBack и BringToFront) будет указывать окно, которое использовалось наименее недавно, поскольку любое действие, выполняемое над дочерним элементом, перемещает это окно в начало z-порядка, поэтому, следовательно, в конец окна. z-порядок можно использовать для обозначения наименее используемых (поправьте меня, если я ошибаюсь).

Если я перебираю MDIChildren на своей панели, они всегда возвращаются в порядке создания, что близко, но не совсем то, что мне нужно.

На самом деле все, что мне действительно нужно, это противоположность функции SendToBack. Или можно получить доступ к самому z-порядку?

Я мог бы, конечно, заново изобрести колесо и реализовать свой собственный контейнер, который отслеживает дочерний элемент, который использовался наименее недавно, но получить z-порядок было бы проще!


person Surfbutler    schedule 19.01.2017    source источник