无法使垂直滚动条始终在用户控件中可见

时间:2018-07-22 07:15:28

标签: c# winforms

我有一个用户控件,我希望垂直滚动条始终可见。因此,我首先将AutoScroll设置为false。然后我这样做了:

public MyUserControl()
{
    InitializeComponent();
    VerticalScroll.Visible = true;
}

这没有用。滚动条显示/消失取决于内容。

所以我做到了:

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

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

public MyUserControl()
{
    InitializeComponent();
    ShowScrollBar(this.Handle, (int)ScrollBarDirection.SB_VERT, true);
}

这也不起作用。所以我尝试了另一种方法:

protected override void OnHandleCreated(EventArgs e)
{
    base.OnHandleCreated(e);

    var cp = base.CreateParams;
    cp.Style |= 0x00200000;
}

这也不起作用。

那么我怎么能始终保持垂直滚动条可见?

0 个答案:

没有答案
相关问题