首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何禁用面板中的水平滚动条

如何禁用面板中的水平滚动条
EN

Stack Overflow用户
提问于 2011-03-31 00:35:59
回答 9查看 76K关注 0票数 29

我有一个面板(Windows窗体),并且我想禁用面板水平滚动条。我试过这个:

代码语言:javascript
复制
HorizontalScroll.Enabled = false;

但那是行不通的。

我该怎么做呢?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2015-02-18 20:17:08

试着以这种方式实现,它将100%工作

代码语言:javascript
复制
panel.HorizontalScroll.Maximum = 0;
panel.AutoScroll = false;
panel.VerticalScroll.Visible = false;
panel.AutoScroll = true;
票数 74
EN

Stack Overflow用户

发布于 2011-03-31 01:18:43

如果你想亵渎你的代码,你可以尝试这个非常"hackish“的解决方案:

代码语言:javascript
复制
[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显示它的滚动条。他们没有暴露任何适当的隐藏他们的方式。

票数 22
EN

Stack Overflow用户

发布于 2014-06-19 22:53:54

当AutoScroll=true出现水平滚动时,我也遇到了同样的问题,只有当垂直滚动条出现时,它才会出现。我终于知道我从面板中删除了填充,通过在右边的填充中添加20,它允许垂直滚动条出现,而不是水平滚动条。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5489273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档