我有一个用户控件,我希望垂直滚动条始终可见。因此,我首先将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;
}
这也不起作用。
那么我怎么能始终保持垂直滚动条可见?