Как заставить стандартную полосу прокрутки панели исчезнуть? - PullRequest
0 голосов
/ 07 мая 2018

В моей форме есть панель с различным количеством кнопок. Все они размещены в ряд и настроены на верхнюю часть док-станции. Поскольку мне не нравится дизайн включенных полос прокрутки и отсутствие возможности изменить цвет, я создал собственную полосу прокрутки, которая прекрасно работает. Проблема в том, что для того, чтобы он работал, AutoScroll должен быть установлен в true. Теперь, когда суммарная высота содержимого превышает высоту панели, автоматически появляется стандартная полоса прокрутки, и я не могу от нее избавиться.

Так вот мой вопрос. Как я могу заставить полосу прокрутки исчезнуть?

Что я пробовал:

Я перепробовал каждую комбинацию.

Первый пример:

this.panel_Playlists.AutoScroll = false;
this.panel_Playlists.HorizontalScroll.Enabled = false;
this.panel_Playlists.HorizontalScroll.Visible = false;
this.panel_Playlists.VerticalScroll.Enabled = false;
this.panel_Playlists.VerticalScroll.Visible = false;
this.panel_Playlists.AutoScroll = true;

Второй пример:

public enum ScrollBarDirection
{
    SB_HORZ = 0,
    SB_VERT = 1,
    SB_CTL = 2,
    SB_BOTH = 3
}

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);

protected override void WndProc(ref Message m)
{
    ShowScrollBar(panel_Playlists.Handle, (int)ScrollBarDirection.SB_BOTH, false);
    base.WndProc(ref m);
}

Что бы я ни пытался, ничего не работает. Либо полоса прокрутки мигает, либо она постоянно видна.

Запрос о быстрой помощи.

LG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...