Sto lavorando a un'applicazione Windows Form in .NET 4.0. Dato che sono dati vincolanti su un BindingSource
(a cui è associato uno ComboBox
), ottengo la seguente eccezione. Nota: lo ottengo solo se faccio in modo che il debugger si fermi alle eccezioni generate, non gestite o gestite. Quindi, l'eccezione è catturata da qualche parte - ma non sono sicuro se sia OK essere gettato.InvalidArgument = Il valore di '0' non è valido per 'SelectedIndex'
ArgumentOutOfRangeException si è verificato InvalidArgument = valore '0' non è valido per 'SelectedIndex'. Nome parametro: SelectedIndex
Non sto impostando la proprietà SelectedIndex
. Il mio codice è mostrato sotto. myData
è un IList
di entità (List
in fase di esecuzione):
myBindingSource.DataSource = myData;
io non riesco a capire quello che sto facendo male. Inoltre, lo Stack di chiamate mi confonde un po '(vedi sotto). Il framework Windows Form sembra impostare SelectedIndex
nella casella combinata, che causa l'eccezione. Qualcuno conosce un modo per sbarazzarsi di questo?
Acclamazioni Matthias
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)
Quando si associa la combinazione, verrà automaticamente impostato l'elemento selezionato su 0 ° elemento. Perché non fai un controllo e non legare se non ci sono articoli nella tua origine dati? – Pabuc