Hello. I'm trying to create a form called MainForm that contains a ListBox with the ability to add, edit and remove objects from the list. The list shows strings with data coming from a List<Customer> called CustomerList. My problem lies in editing and removing items from the list. When an item is removed from the listbox, the index for the next item moves down. This doesn't apply to object lists, which ends up with an exception. For example, imagine we have the following:

ListBox:
Customer1 - index = 0
Customer2 - index = 1
Customer3 - index = 2

CustomerList:
Customer1 - index = 0
Customer2 - index = 1
Customer3 - index = 2

Now, we decide to remove Customer2 from both lists, it'll turn into this:

ListBox:
Customer1 - index = 0
Customer3 - index = 1

CustomerList:
Customer1 - index = 0
Customer2 - index = null
Customer3 - index = 2

How do I go around this without using Linq or any other sort of magic?

Help's very much appreciated!