gpt4 book ai didi

c# - NumericUpDown 中出现奇怪的 ArgumentOutOfRangeException

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:33 25 4
gpt4 key购买 nike

在我当前的项目中,我使用 NumericUpDowns 来显示一些值。一切正常,但有一行代码抛出 ArgumentOutOfRangeException,这是以下第三个:

verBox.SelectedIndex = (int)currentConfig.Version; //enum, casting to int
startIndexBox.Value = currentConfig.StartIndex + 1;
intervalBox.Value = currentConfig.Interval;

所以verBox是一个ComboBox,startIndexBox和intervalBox是NumericUpDowns。执行此代码时,currentConfig 的字段具有以下值:

currentConfig.Version = 2
currentConfig.StartIndex = 0
currentConfig.Interval = 700

现在奇怪的是异常(在这段代码的第三行抛出):它表示值 2 无效,它应该介于 MinimumMaximum 之间。
首先,值不是 2,而是 700。
第二件事是,intervalBox.Minimum 为 0,Maximum 为 10k。

此外,Visual Studio 不会在此异常中中断,但程序以 Code -1073741819 (0xc0000005) 'Access violation' 结束。如果我在调试设置中设置抛出所有异常,它就会中断,我可以看到 currentConfig.Interval 是 700,实际上没有理由抛出这个异常。我观察到的另一件奇怪的事情是,如果我用 try/catch 包围这段代码的最后一行,它上面的行会抛出相同的异常。

有没有人遇到过这样的事情?或者关于如何解决这个问题的任何想法?

编辑:如果我在抛出异常的行上设置断点,无论如何都会抛出异常。

最佳答案

通过 if 检查验证 currentConfig 不为空。如果它不为空,请验证 VersionStartiIndexInterval 的属性是否包含数字控件的预期和正确值。

还要验证数字控件是否有效且在页面上,并准备好在您要加载它们的位置接受值。

关于c# - NumericUpDown 中出现奇怪的 ArgumentOutOfRangeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30240168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com