C#学习教程:InvalidArgument=值“0”对于“SelectedIndex”无效当我将数据绑定到BindingSource(绑定ComboBox)时,出现以下异常。注意:只有当调试器在抛出的异常处停止时,我才会得到它,无论它是未处理的还是已处理的。因此,异常在某处被捕获-但我不确定它是否可以被抛出。发生ArgumentOutOfRangeExceptionInvalidArgument=值“0”对于“SelectedIndex”无效。参数名称:SelectedIndex我没有设置SelectedIndex属性。我的代码如下所示。myData是实体的IList(运行时列表):myBindingSource.DataSource=myData;我不知道我做错了什么。此外,调用堆栈让我感到困惑(见下文)。Windows窗体框架似乎在组合框上设置了SelectedIndex,这会导致异常。干杯马蒂亚斯System.Windows.Forms.dll!System.Windows.Forms.ComboBox.SelectedIndex.set(intvalue)+0x233bytesSystem.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.OnPositionChanged(System.EventArgse)+0x3e字节System.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.ChangeRecordState(intnewPosition,boolvalidating,boolendCurrentEdit,boolfirePositionChange,boolpullData)+0x1bdbytesSystem.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.List_ListChanged(objectsender,System.ComponentModel.ListChangedEventArgse)+0x75cbytesSystem.Windows.Forms.dll!System.Windows.Forms.BindingSource.ResetBindings(boolmetaDataChanged)+0x3e字节System.Windows.Forms.dll!System.Windows.Forms.BindingSource.SetList(System.Collections.IListlist,boolmetaDataChanged,boolapplySortAndFilter)+0x22c字节System.Windows.Forms.dll!System.Windows.Forms.BindingSource.DataSource.set(objectvalue)+0x47字节(我的方法)当您要求调试器遇到异常时停止,它会这样做,而不管它们是否会被处理。这导致了您观察到的场景:调试器在异常处停止并让您感到困惑,即使异常是完全有效的并且似乎是代码所期望的,因为它处理了异常而没有死亡。总结并回答您的问题:并非所有调试器停止的异常都表明您做错了什么或代码中存在问题。更新(归功于Mark):如果您启用“仅我的代码”选项,您可以告诉调试器仅捕获异常。你也可以试试这个。在设置组合框之前,DataSource设置它的BindingContext。以上是C#学习教程:InvalidArgument=value'0'isinvalidfor'SelectedIndex'。如果对大家有用,需要进一步了解C#学习教程,希望大家多多指教myBindingSource.DataSource=myData;本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
