2010-11-12 141 views
0

有没有一种方法(可能的P/Invoke)以保证,水平滚动条将从未出现在用户控件?看起来,即使当我将autoscroll属性设置为false时,它有时也会显示。防止显示水平滚动条? (C#)

+0

你尝试'HSCROLL = FALSE'? – 2010-11-12 18:03:52

+0

我认为AutoScroll属性足够有效 – 2010-11-12 18:29:28

+0

我得到了你的问题看到我的回答 – 2010-11-12 18:39:45

回答

0

其实你的表单正在用旧属性设置UserControl。

所以,你必须要做到这一点

  • 变回UserControl.AutoScroll=False;
  • 重新构建应用程序
  • Redrag您的用户控件在旧楼的地方

说明:
当您在那个时候拖动您的UserControl Designer在FormD中设置属性eginer(检查表Deginer) 现在更改属性的用户控件,然后将它被用于新的控件实例新属性设置,但旧的没有改变后...

+0

这不是答案,即时编程添加我的UserControl。所以设计师没有做任何事情。 – caesay 2010-11-12 18:59:12

+0

因此,在添加用户控件时,只需添加UserControl_name.AutoScroll = false; – 2010-11-12 19:02:58

+0

我正在添加它。它仍然显示。 – caesay 2010-11-12 19:16:28

0

你尝试:this.HorizontalScroll.Visible = false;

+0

是的 - 确实很奇怪的行为。 – caesay 2010-11-12 18:04:52

+0

即使将它设置为false,当我添加一个比我的控件宽度更大的控件时,它会显示。 – caesay 2010-11-12 18:05:12

+0

如果您要添加更大的控件,请尝试设置'MaximumSize'属性。 – CodingGorilla 2010-11-12 18:11:57

0

对于一些控制你可以将ScrollBars属性设置为你想要的。这是一个富文本框的例子,你可能会发现有用的(你可以找到一个适合你的继承什么),在初始化设置:

rtbText.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical 

对于容器可以使用HScrollProperties,您可以设置在容器上启用/禁用。 例如在容器上没有水平滚动条。

userControlInstance.HorizontalScroll.Enabled = False;