VB Migration Partner’s support library hides most of the differences between the VB6 and the .NET versions of the DriveListBox, DirListBox, and FileListBox controls, but not all of them. In most cases the remaining differences should have no impact on migrated programs. Here’s their complete list:
- If a FileListBox control supports multiple selections – that is, the MultiSelect property isn’t zero – then the ListIndex property points to the last file that has been selected under VB6, whereas it points to the first file that was selected under VB.NET. Likewise, the FileName returns the name of the last file selected under VB6, whereas it returns the name of the first file selected under VB.NET.
- When the user clicks on an element of the DirListBox control, VB6 fires the following event sequence: MouseDown, Click, MouseUp. Under VB.NET the sequence can be different, depending on whether the user clicks on an element that is already selected. More in general, you shouldn’t rely on the event sequence under VB.NET.
- When the user gives the focus to a DirListBox or a FileListBox control by clicking on it, VB6 fires the MouseDown event and then the GotFocus event. Under VB.NET these two events are fired in the reverse order.
- When the user double-clicks an element of a FileListBox control, VB6 fires the following sequence of events: MouseDown, Click, MouseUp, DblClick, MouseUp. Under the same circumstances the VB.NET control raises the following events: MouseDown, Click, MouseUp, MouseDown, DblClick, MouseUp.
- Icons in the DriveListBox control don’t redraw correctly if its BackColor is set to a value other than the default background color.