Когда вы размещаете более одного элемента управления в одном и том же месте, один из них окажется сверху, а другой - снизу. Обычно это является результатом незначительной ошибки, например, неправильного использования функций привязки и закрепления для создать форму с изменяемым размером. В некоторых случаях, однако, вы можете захотеть перекрыть контроль для определенного эффекта.
Когда перекрытие элемента управления, это z-индекс, который определяет, какой элемент управления оказывается сверху. По сути, каждый элемент управления существует в своем отдельном пронумерованном слое. Элемент управления, имеющий уровень z-индекса 1, будет отображаться над элементом управления в z -индексировать слой 2, если они перекрываются. Обычно z-индекс группы элементов управления определяется порядком, в котором вы добавляете элементы управления, так что последний добавленный элемент управления всегда находится в верхнем слое (с индексом z из 0).
Однако вы можете изменить эти параметры.
Чтобы определить или установить z-индекс элемента управления, вы можете использовать методы GetChildIndex()
и SetChildIndex()
коллекции элементов управления. Вот пример, который перемещает элемент управления на третий уровень в z-индексе.
Controls.SetChildIndex(ctrl, 2);
Как правило, вам не нужен этот вид детализированного элемента управления. Вместо этого вам просто нужно поместить элемент управления в конец z-индекса (самый нижний слой) или перенести его на верхний уровень. .Вы можете выполнить эту функцию во время разработки, щелкнув правой кнопкой мыши элемент управления и выбрав «Привести в Fron» или «Отправить в Back». Вы также можете выполнить ту же задачу программным способом, используя методы Control.BringToFront()
или Control.SendToBack()
.
ctrl.BringToFront(); // This is equivalent to Controls.SetChildIndex(ctrl,0);