Вы также можете попробовать это. Перед настройкой комбинированного списка DataSource установите его BindingContext
отаю над приложением Windows Forms в .NET 4.0. Как я привязываю данные кBindingSource
(к которомуComboBox
связан), я получаю следующее исключение. Примечание. Я получаю его только в том случае, если отключаю отладчик при возникновении исключений, необработанных или обработанных. Таким образом, исключение где-то ловится - но, тем не менее, я не уверен, что это нормально, чтобы быть брошенным.
Произошло ArgumentOutOfRangeException InvalidArgument = значение «0» недопустимо для «SelectedIndex». Имя параметра: SelectedIndex
Я не устанавливаюSelectedIndex
свойство. Мой код показан ниже.myData
являетсяIList
сущностей (List
во время выполнения):
myBindingSource.DataSource = myData;
Я не могу понять, что я делаю неправильно. Более того, стек вызовов немного сбивает меня с толку (см. Ниже). Платформа Windows Forms, кажется, устанавливаетSelectedIndex
в поле со списком, который вызывает исключение. Кто-нибудь знает способ избавиться от этого?
Ура Матиас
System.Windows.Forms.dll!System.Windows.Forms.ComboBox.SelectedIndex.set(int value) + 0x233 bytes
System.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.OnPositionChanged(System.EventArgs e) + 0x3e bytes
System.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.ChangeRecordState(int newPosition, bool validating, bool endCurrentEdit, bool firePositionChange, bool pullData) + 0x1bd bytes
System.Windows.Forms.dll!System.Windows.Forms.CurrencyManager.List_ListChanged(object sender, System.ComponentModel.ListChangedEventArgs e) + 0x75c bytes
System.Windows.Forms.dll!System.Windows.Forms.BindingSource.ResetBindings(bool metadataChanged) + 0x3e bytes
System.Windows.Forms.dll!System.Windows.Forms.BindingSource.SetList(System.Collections.IList list, bool metaDataChanged, bool applySortAndFilter) + 0x22c bytes
System.Windows.Forms.dll!System.Windows.Forms.BindingSource.DataSource.set(object value) + 0x47 bytes
(my method)