I don't know if this would be considered a bug or not, or if I'm just missing something, but when you use ListBox.DataSource in Windows.Forms (.Net 2.0), and you add or remove an item from an ArrayList that is set as the DataSource, there is no method to refresh the listbox. The only thing I know that works is setting the DataSource to null and then setting it back to the ArrayList. That just doesn't seem right.
addendum (the next day): I may have found another bug! When I move an item up or down in my ArrayList and then rebind it to the ListBox, I still want the item that was moved to be selected. I tried ListBox.ClearSelected() followed by ListBox.SelectedIndex = originalIndex, but that resulted in both the zero-index item being selected and the original item being selected. I ended up having to do the following line twice in a row before setting the selection:
ListBox.SelectedIndex = -1;