This section describes the differences between VB6 and .NET controls and the problems
you can find in migrating VB6 applications with user-interface. The differences
that are common to most controls are described in the
For a list of differences between VB6 and VB.NET language, see
The Appearance property has been renamed as FlatStyle.
VB Migration Partner still supports the Appearance property, so that migrated code works as expected even if the control is accessed in late-bound mode.
Cancel and Default properties
The VB.NET Button control doesn’t support the Cancel or Default properties. Instead, you select which the default and cancel buttons on a form are by setting the form’s AcceptButton and CancelButton properties. Therefore, the following VB6 code:
btnCancel.Cancel = True
btnOK.Default = True
can be converted to VB.NET as follows:
Me.CancelButton = btnCancel
Me.AcceptButton = btnOK
Both the Upgrade Wizard and VB Migration Partner correctly migrate forms containing default and cancel buttons. However, only VB Migration Partner supports these properties when assigned in late-bound mode or when the button is located inside a usercontrol.
VB.NET exposes both a Click and a MouseClick event. You should always use the Click event in migrated applications, because the MouseClick event doesn’t fire if the button is operated with the Space key.
DownPicture and DisabledPicture properties
These properties have no VB.NET counterpart. You can achieve the same effect in VB.NET by monitoring the mouse activity on the button (for DownPicture) and changes to the Enabled property (for DisabledPicture).
VB Migration Partner fully supports these properties and correctly display buttons in down or disable state.
MaskColor and UseMaskColor properties
These properties have no VB.NET counterpart and can’t be easily implemented.
VB Migration Partner supports both properties. If UseMaskColor is equal to True, the button displays an image where all pixels whose color is equal to MaskColor are rendered as transparent pixels.
Picture and Style properties
The VB6 Picture property maps to the VB.NET Image property, but the Style property has no VB.NET counterpart. (In VB6 the Picture property is used only if Style=1-vbButtonGraphical.) Therefore, you should assign the .NET Image property only if you really mean to display an image.
In addition to displaying an image, the VB6 Style property affects the position of the button’s caption: in standard buttons the caption is centered vertically, whereas in graphical buttons it is near to the bottom border. You can reach the same effect by assigning the VB.NET TextAlign property.
VB Migration Partner fully supports all the possible combinations of these two properties.
In VB6 you can programmatically set the Value property of a CommandButton control to indirectly fire the control’s Click event. You reach the same effect under VB.NET by invoking the PerformClick method.
VB Migration Partner fully supports the Value property.