SMa
Legacy Member
Ik heb een vreemd probleem met een listbox en de Remove/RemoveAt methode...
Het gaat over volgend code-fragment:
Dit wordt als volgt opgeroepen:
Het resultaat is een Exceptie:
[System.Reflection.TargetInvocationException] {"Het doel van een aanroep heeft een uitzondering veroorzaakt."} System.Reflection.TargetInvocationException
+ InnerException {"De objectverwijzing is niet op een exemplaar van een object ingesteld."} System.Exception {System.NullReferenceException}
Verander ik het lijntje "listBox.Items.RemoveAt(index);" door Add, Clear of eender welke andere methode (behalve Remove), dan is er geen probleem.
Ik snap er niets van... weet iemand wat dit veroorzaakt en hoe ik het kan oplossen?
Dank bij voorbaat
Het gaat over volgend code-fragment:
Code:
public delegate void ListBoxRemoveItem(ListBox listBox, string waarde);
public static class ListBoxHelper
{
public static void RemoveItem(ListBox listBox, string waarde)
{
lock (listBox)
{
listBox.BeginUpdate();
int index = listBox.Items.IndexOf(waarde);
if (index != -1) listBox.Items.RemoveAt(index);
listBox.EndUpdate();
listBox.Refresh();
}
}
}
Code:
listNewItems.BeginInvoke(new ListBoxRemoveItem(ListBoxHelper.RemoveItem),
new object[] { listNewItems, selectedNewItem });
Het resultaat is een Exceptie:
[System.Reflection.TargetInvocationException] {"Het doel van een aanroep heeft een uitzondering veroorzaakt."} System.Reflection.TargetInvocationException
+ InnerException {"De objectverwijzing is niet op een exemplaar van een object ingesteld."} System.Exception {System.NullReferenceException}
Verander ik het lijntje "listBox.Items.RemoveAt(index);" door Add, Clear of eender welke andere methode (behalve Remove), dan is er geen probleem.
Ik snap er niets van... weet iemand wat dit veroorzaakt en hoe ik het kan oplossen?
Dank bij voorbaat
