C# 设置水平滚动最小值、最大值和最大值时引发异常?

C# 设置水平滚动最小值、最大值和最大值时引发异常?,c#,winforms,scrollbar,C#,Winforms,Scrollbar,我正在创建一个UserControl派生控件(称为“Panel”),其中包含一个名为ScrollPanel的ScrollPanel。在“Panel”UserControl的构造函数中,在调用InitializeComponent()之后,我构造了另一个UserControl派生的控件(称为“查看器”),该控件添加到scrollpanel.Controls中 在不等待任何消息循环处理的情况下,我调用 scrollPanel.HorizontalScroll.Minimum = 0; scrollP

我正在创建一个UserControl派生控件(称为“Panel”),其中包含一个名为ScrollPanel的ScrollPanel。在“Panel”UserControl的构造函数中,在调用InitializeComponent()之后,我构造了另一个UserControl派生的控件(称为“查看器”),该控件添加到scrollpanel.Controls中

在不等待任何消息循环处理的情况下,我调用

scrollPanel.HorizontalScroll.Minimum = 0;
scrollPanel.HorizontalScroll.Maximum = 1000;
scrollPanel.HorizontalScroll.Value = 800;
并获取System.ArgumentOutOfRangeException


我想我必须等待设置滚动条的值,直到它完成自己的创建?如何在C#中执行此操作?

将AutoScroll属性设置为false:

scrollPanel.AutoScroll = false;
scrollPanel.HorizontalScroll.Minimum = 0;
scrollPanel.HorizontalScroll.Maximum = 1000;
scrollPanel.HorizontalScroll.Value = 800;

这管用!但我不知道。Microsoft文档似乎是用与英语非常相似的语言编写的。它以一种混乱的方式谈论两件事:(1)滚动条自动出现,(2)滚动到屏幕上当前未显示的控件的能力(这毕竟是滚动面板的全部要点)。@BettyCrocker您的代码基本上是告诉容器不要担心滚动条,“我会处理它”。