C# 防止水平滚动条显示?(C)

C# 防止水平滚动条显示?(C),c#,user-controls,pinvoke,scrollbar,C#,User Controls,Pinvoke,Scrollbar,是否有一种方法可以通过p/Invoke保证水平滚动条永远不会出现在用户控件中?似乎即使我将autoscroll属性设置为false,它有时也会显示。您是否尝试过:this.horizontalcoll.Visible=false 实际上,表单正在使用旧属性设置UserControl 所以你必须这么做 更改回UserControl.AutoScroll=False; 重新生成应用程序 在旧控件的位置重新整理您的用户控件 说明: 当您拖动UserControl时,设计器会在FormDeginer中设

是否有一种方法可以通过p/Invoke保证水平滚动条永远不会出现在用户控件中?似乎即使我将autoscroll属性设置为false,它有时也会显示。

您是否尝试过:this.horizontalcoll.Visible=false

实际上,表单正在使用旧属性设置UserControl

所以你必须这么做

更改回UserControl.AutoScroll=False; 重新生成应用程序 在旧控件的位置重新整理您的用户控件 说明: 当您拖动UserControl时,设计器会在FormDeginer中设置属性并检查表单Deginer
现在,在更改用户控件的属性,然后添加它之后,新控件实例的新属性设置了它,但旧控件的属性没有更改…

对于某些控件,您可以根据需要设置滚动条属性。这是一个富文本框的示例,您可能会发现它很有用,您可能会在初始化集中找到一个用于继承内容的富文本框:

rtbText.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical
对于容器,您可以使用HScrollProperties,您可以在容器上设置启用/禁用。 例如,容器上没有水平滚动条

userControlInstance.HorizontalScroll.Enabled = False;

你试过HScroll=false了吗?我想AutoScroll属性很有效。我遇到了你的问题,请看我的答案。当我添加一个宽度大于控件显示宽度的控件时,甚至将其设置为false。如果你要添加更大的控件,请尝试设置MaximumSize属性。这不是答案,我是通过编程方式添加我的UserControl。因此,设计器没有做任何事情。因此,在添加用户控件时,只需添加UserControl\u name。AutoScroll=false;代码非常大。非常复杂的UserControl,一个id不会泄露——但基本上,我会将autoscroll属性设置为false,并在需要时添加/删除它的垂直滚动条,水平滚动条仍会显示。