Winform контролирует событие при изменении z-порядка - PullRequest
1 голос
/ 17 июня 2020

У меня есть элементы управления в одном месте (один поверх другого)

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

Цель - отладка чтобы узнать, когда и кто изменил порядок

Его можно изменить с помощью BringToFront или SendToBack или SetChildIndex

Как Control.ZOrderChanged или form.Controls.ZOrderChanged

1 Ответ

1 голос
/ 18 июня 2020

Изменение ChildIndex вызовет Событие макета для элемента управления, который является родительским для дочернего элемента управления. Конечно, это предполагает, что SuspendLayout не был вызван в родительском элементе управления.

Вы можете отфильтровать событие, проверив свойство LayoutEventArgs.AffectedProperty (строка) на посмотрим, равно ли оно "ChildIndex". Чтобы определить, какой элемент управления вызвал событие, проверьте свойство LayoutEventArgs.AffectedControl

...