Практическое руководство. Определение способа изменения размеров и позиционирования в окне с перемещаемым разделителем
Пользователи могут легко менять размер панелей элемента управления 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 пикселей в любом направлении, разделитель закрепится на новой позиции.
См. также
.NET Desktop feedback
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по