Практическое руководство. Определение способа изменения размеров и позиционирования в окне с перемещаемым разделителем

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

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

Свойство SplitterIncrement и другие свойства элемента управления SplitContainer позволяют точно контролировать поведение пользовательского интерфейса в зависимости от потребностей. Эти свойства перечислены в следующей таблице.

Имя

Описание

Свойство IsSplitterFixed

Определяет возможность перемещения разделителя при помощи клавиатуры или мыши.

Свойство SplitterDistance

Определяет расстояние от левой или верхней границы до перемещаемой полосы-разделителя в точках.

Свойство SplitterIncrement

Определяет минимальное расстояние, на которое разделитель может быть перемещен пользователем, в точках.

Следующий пример изменяет свойство SplitterIncrement для создания эффекта "прыгающего разделителя" – когда пользователь перетаскивает разделитель, прибавляется по 10 точек вместо 1 по умолчанию.

Определение поведения изменения размера SplitContainer

  • В процедуре укажите для свойства SplitterIncrement желаемый размер, чтобы достичь "скачкообразного" поведения разделителя.

    В следующем примере кода в событии формы Load разделитель в элементе управления SplitContainer будет прыгать через 10 точек при перетаскивании.

    Private Sub Form1_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        Dim splitSnapper as new SplitContainer()
        splitSnapper.SplitterIncrement = 10
        splitSnapper.Dock = DockStyle.Fill
        splitSnapper.Parent = me
    End Sub
    
    private void Form1_Load(System.Object sender, System.EventArgs e)
    {
        SplitContainer splitSnapper = new SplitContainer();
        splitSnapper.SplitterIncrement = 10;
        splitSnapper.Dock = DockStyle.Fill;
        splitSnapper.Parent = this;
    }
    

    (Visual C#) Добавьте в конструктор формы следующий код, чтобы зарегистрировать обработчик событий.

    this.Load += new System.EventHandler(this.Form1_Load);
    

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

См. также

Ссылки

SplitContainer

SplitterIncrement