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

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

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

Имя Описание
Свойство IsSplitterFixed Определяет, можно ли перемещать разделитель с помощью клавиатуры или мыши.
Свойство SplitterDistance Определяет расстояние в пикселях от левого или верхнего края до перемещаемой полосы разделителя.
Свойство SplitterIncrement Определяет минимальное расстояние в пикселях, на которое пользователь может переместить разделитель.

В приведенном ниже примере изменяется свойство SplitterIncrement для настройки шага перемещения разделителя — когда пользователь перетаскивает разделитель, он сдвигается на 10 пикселей, а не на 1, как настроено по умолчанию.

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

  1. В процедуре присвойте свойству 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 пикселей в любом направлении, разделитель закрепится на новой позиции.

См. также