我有一个面板(Windows窗体),并且我想禁用面板水平滚动条。我试过这个:
HorizontalScroll.Enabled = false;
但那是行不通的。
我该怎么做呢?
发布于 2015-02-18 20:17:08
试着以这种方式实现,它将100%工作
panel.HorizontalScroll.Maximum = 0;
panel.AutoScroll = false;
panel.VerticalScroll.Visible = false;
panel.AutoScroll = true;
发布于 2011-03-31 01:18:43
如果你想亵渎你的代码,你可以尝试这个非常"hackish“的解决方案:
[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
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
ShowScrollBar(panel1.Handle, (int)ScrollBarDirection.SB_BOTH, false);
base.WndProc(ref m);
}
我目前正在使用上面的代码来阻止第三方UserControl显示它的滚动条。他们没有暴露任何适当的隐藏他们的方式。
发布于 2014-06-19 22:53:54
当AutoScroll=true出现水平滚动时,我也遇到了同样的问题,只有当垂直滚动条出现时,它才会出现。我终于知道我从面板中删除了填充,通过在右边的填充中添加20,它允许垂直滚动条出现,而不是水平滚动条。
https://stackoverflow.com/questions/5489273
复制相似问题