Дисплей управления сплиттером .NET - PullRequest
4 голосов
/ 26 мая 2009

Я создал Winform в VB.NET и добавил элемент управления Splitter, чтобы разрешить изменение размеров панелей во время выполнения.

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

Может кто-нибудь сказать мне, как правильно использовать этот элемент управления, чтобы пользователи сразу поняли, что размеры панелей можно изменять?

Ответы [ 4 ]

7 голосов
/ 26 мая 2009

Я как раз собирался предложить трюк с границей (который вы опубликовали сами). Обычно я также подключаю обработчик событий MouseEnter и MouseLeave к элементу управления Splitter и добавляю туда следующий код:

private void Splitter_MouseEnter(object sender, EventArgs e)
{
    ((Splitter)sender).BackColor = SystemColors.ControlDark;
}

private void Splitter_MouseLeave(object sender, EventArgs e)
{
    ((Splitter)sender).BackColor = SystemColors.Control;
}

Таким образом, Splitter «загорается» (точнее, затеняется ...), когда мышь проходит мимо него, обращая внимание на то, что есть элемент управления, с которым вы можете взаимодействовать.

0 голосов
/ 04 апреля 2012

Мне нравится получать контроль, чтобы я мог заставить все сплиттеры работать одинаково. Добавление свойства делает его немного лучше с IDE, поэтому кодировщик может изменить его во время разработки.

Public Class HighlightSplitContainer
    Inherits SplitContainer

    Property HighlightColor As Color = SystemColors.ControlDark

    Protected Overrides Sub OnMouseEnter(e As System.EventArgs)
        BackColor = HighlightColor
        MyBase.OnMouseEnter(e)
    End Sub

    Protected Overrides Sub OnMouseLeave(e As System.EventArgs)
        BackColor = SystemColors.Control
        MyBase.OnMouseLeave(e)
    End Sub
End Class
0 голосов
/ 26 мая 2009

Можно установить для свойства SplitterWidth более высокое значение, чтобы сделать его более видимым.

Вы также можете изменить курсор мыши, когда мышь находится над элементом управления Splitter. Похожая идея - показать всплывающую подсказку, когда мышь находится над элементом управления.

0 голосов
/ 26 мая 2009

Хорошо,

Полагаю, если я установлю для панелей границу, похоже, что панели могут изменить размер.

У меня не было границы, поэтому сплиттер не был виден.

...