當我嘗試選擇通過綁定源添加到列表框中的新項目時,出現此異常。ListBox在BindingSource更新後拋出ArgumentOutOfRangeException
這是自定義的數據源的BindingSource的對象
BindingSource bs = new BindingSource() { DataSource = myObjectsList };
listbox.DataSource = bs;
listbox.DisplayMember = "MyObjectProperty";
當我添加一個新的項目到BindingSource的列表框更新,但我不能選擇新項目
bs.Add(new MyObject());
int newItemIndex = listbox.Items.Count - 1; // this returns the right index of the new added item
listbox.SelectedIndex = newItemIndex;
這裏我得到了System.ArgumentOutOfRangeException(InvalidArgument ='0'的值對'SelectedIndex'無效)。
如果我禁用系統異常中的調試中斷,則prog公羊繼續和項目被選中,但我不明白爲什麼我得到這個錯誤,如果列表框實際上有項目。
謝謝你的回答,但我認爲我的問題在這裏有點不同:按照你的建議,我做了一些進一步的調試這就是我得到的:如果我添加了像所描述的新項目,並且我不以編程方式選擇它,那麼每當我選擇它或離開它(在運行時),我總會得到該錯誤,就像該項目實際上不會不存在。 – 2014-09-12 08:03:28
如果使用「SelectedItem」而不是「SelectedIndex」會發生什麼? – Zache 2014-09-15 08:18:59