C#错误:值应介于最小值和最大值之间

C#错误:值应介于最小值和最大值之间,c#,winforms,.net-4.0,C#,Winforms,.net 4.0,我有两个带滚动条的面板。我试图使用一个滚动条同时滚动两个面板。但是我得到了这个错误: Value of '2268' is not valid for 'value'.'Value' should be between 'minimum' and maximum' Parameter name: Value. 在其中一个面板的滚动事件中,我使用了以下代码: private void panel8_Scroll(object sender, ScrollEventArgs e)

我有两个带滚动条的面板。我试图使用一个滚动条同时滚动两个面板。但是我得到了这个错误:

Value of '2268' is not valid for 'value'.'Value' should be between 'minimum' and maximum'
Parameter name: Value.
在其中一个面板的滚动事件中,我使用了以下代码:

     private void panel8_Scroll(object sender, ScrollEventArgs e)
        {
            panel8.HorizontalScroll.Maximum = panel7.HorizontalScroll.Maximum;
            panel7.HorizontalScroll.Value = panel8.HorizontalScroll.Value;
        }
我需要panel8上的滚动条来控制Panel7和panel8的滚动

编辑: 面板8的最大值为13175,面板7的最大值为2004。 panel8水平滚动值为2268。
panel 7 HorizontalScroll值为2268。

假设您希望panel 7与panel 8处于相同的相对位置,则执行此操作

private void panel8_Scroll(object sender, ScrollEventArgs e)
{
    var p8Max = panel8.HorizontalScroll.MaxValue
    var p8Min = panel8.HorizontalScroll.MinValue
    var p7Max = panel7.HorizontalScroll.MaxValue
    var p7Min = panel7.HorizontalScroll.MinValue 
    var ratio = panel8.HorizontalScroll.Value/(p8Max-p8Min)
    var absoluteValue = ratio * (p7Max-p7Min)
    panel7.HorizontalScroll.Value = p7Min + absoluteValue
}

'panel8.HorizontalScroll.Maximum´,'panel7.HorizontalScroll.Maximum´,'panel7.HorizontalScroll.Value´和'panel8.HorizontalScroll.Value´的值是多少?我猜您已经超过了为面板设置的最大值,您可以发布这些值吗?您声明panel7的最大值为2004,但您正在尝试将其设置为2268。2268 > 2004. 面板8应如何控制面板7?你是在寻找一个比率I.如果面板8在中间,那么面板7应该是吗?你可能也想考虑到MimValuy。一般来说,它将是0,但只是为了以防万一有人调整它…@ErnodeWeerd很好,特别是因为在这种情况下它没有指定为零