如何使面板的标准滚动条消失?

时间:2018-05-06 21:16:39

标签: c# winforms scrollbar

在我的表单上,我有一个面板,其中有不同数量的按钮。它们都排成一排,都设置为停靠顶部。由于我不喜欢包含滚动条的设计以及缺乏改变颜色的可能性,我创建了自己的滚动条,效果很好。问题是,为了使其工作,必须将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

0 个答案:

没有答案