VB Migration Partner’s support library hides most of the differences between the VB6 and the .NET versions of the DataCombo control, but not all of them. In most cases the remaining differences should have no impact on migrated programs. Here’s their complete list:
- The Locked property can’t be directly implemented in VB.NET and its behavior can only be approximated. When the Locked property is True then the combobox’s style is set equal to DropDownList, so that the end user can only select one of the values in the list area.
- The DataBindings property isn’t supported.
- The VB.NET control never fires the DblClick event.
- When you click the VB6 control, the following events are fired: MouseDown, MouseUp, Click. The VB.NET control raises the Click event immediately after MouseDown and the sequence is MouseDown, Click, MouseUp.
- When the end user moves the input focus to the VB6 control by clicking on it, the following events are raised: MouseDown, Click, MouseUp, GotFocus. The VB.NET raises the GotFocus before the MouseDown event and the actual sequence is: GotFocus, MouseDown, Click, MouseUp.
- If a VB6 DataCombo control is the first control that gets the input focus when the form loads, it fires the following event sequence: Change, Change, GotFocus (two Change events followed by GotFocus); in the same circumstances the VB.NET control fires the following events: Change, LostFocus, GotFocus.
- If the end user opens the dropdown list and selects a different item, the VB6 control raises the following events: MouseDown, GotFocus, MouseUp, Click, MouseDown, Change, MouseUp, Click. The VB.NET control raises fewer events: LostFocus, GotFocus, MouseDown, Click, MouseUp, Change.
- If the end user double-clicks an element of the VB6 DataList control, the following event sequence takes place: MouseDown, MouseUp, Click, DblClick, MouseUp. Under VB.NET the sequence is slightly different: MouseDown, Click, MouseUp, MouseDown, DblClick, MouseUp.
- If you add, remove, or change a record in the data source that is associated to the list area of the DataCombo control, you need to manually invoke the control’s Refresh method.