Поделиться через


Практическое руководство. Управление поведением закрепления

Обновлен: Ноябрь 2007

Порядок, в котором элементы управления добавляются на форму, может повлиять на расположение элементов на экране, если используется закрепление. Элементы управления не всегда отображаются на экране необходимым образом, если не добавлять их в правильном порядке.

Порядок, в котором элементы управления добавляются на форму, влияет на z-порядок и, если несколько элементов управления закреплены в родительском элементе, z-порядок определяет логику размещения элементов. Элемент управления, добавленный к родительскому элементу первым, размещается в нижней части z-порядка, а элементы, добавленные после, располагаются сверху. При попытке разместить элемент управления рядом с другим, закрепив их у одной области в родительском элементе управления, элемент, который располагается дальше в z-порядке, в результате отображается первым. Например, если свойству Dock двух элементов управления присвоено значение Top, обычно элемент, располагающийся дальше по z-порядку, отображается сверху родительского элемента управления.

Однако, если свойству Dock элемента управления присвоено значение Fill, это может привести к тому, что один элемент управления скроет другой. Например, если два элемента управления, добавленные к форме в неверном порядке, могут отобразиться в верхней части экрана, при этом один скроет другой, хотя предполагалось, что только один элемент должен располагаться в этом месте.

Если возникает проблема с размещением, необходимо исправить z-порядок затронутых элементов управления. Для решения этой проблемы требуются различные действия в зависимости от того, использовался ли конструктор при добавлении элементов к форме.

Управление структурой закрепления

  • Исправьте порядок, в котором элементы управления добавляются к форме.

    Изучите пример, в котором элементы управления TreeView и Button программными средствами добавляются в элемент управления Panel. Свойству Dock элемента управления TreeView присваивается значение Fill, а свойству Dock элемента управления Button присваивается значение Top. Элемент управления TreeView частично перекрывает элемент Button. Код, в котором элементы управления TreeView и Button добавляются к Panel, может выглядеть следующим образом:

    this.panel1.Controls.Add(this.button1);
    this.panel1.Controls.Add(this.treeView1);
    

    Чтобы решить проблему, измените порядок, в котором эти элементы управления добавляются в панель.

    this.panel1.Controls.Add(this.treeView1);
    this.panel1.Controls.Add(this.button1);
    

    Также можно использовать метод BringToFront или SendToBack одного из элементов управления.

Управление структурой закрепления с использованием конструктора

  1. Выберите один из элементов управления, располагающийся в неверной части формы.

  2. В зависимости от требуемой структуры щелкните правой кнопкой элемент управления и выберите пункт На задний план.

    —или—

    Щелкните правой кнопкой мыши элемент управления и выберите пункт На передний план.

  3. Если используются дополнительные элементы управления, надо при необходимости повторить шаг 2 для других элементов до тех пор, пока не будет получен желаемый результат.

ms404360.alert_note(ru-ru,VS.90).gifПримечание.

Если используется несколько элементов управления, для управления z-порядком рекомендуется использовать окно "Структура документа".

См. также

Основные понятия

Разделы руководства по платформе .NET Compact Framework