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 Controls (general) section.

For a list of differences between VB6 and VB.NET language, see here.

Unless otherwise stated, VB Migration Partner fully supports all the Visual Basic 6 features mentioned in this page. It is worth noticing that names of properties and methods are preserved, which ensures that those even late-bound references work correctly after the migration to VB.NET. For more information, please read the manual and the knowledge base section.





PictureBox control

Appearance and BorderStyle properties

The VB6 Appearance property has been dropped and its effect has been integrated into the VB.NET BorderStyle property, according the following rule: if BorderStyle is equal to 0-None under VB6 then the control has no border and the Appearance property is ignored; if BorderStyle is equal to 1-FixedSingle and Appearance is equal to 0-Flat under VB6, then the VB.NET BorderStyle is set to 1-Flat; if BorderStyle is equal to 1-FixedSingle and Appearance is equal to 1-ThreeD under VB6, then the VB.NET BorderStyle is set to 2-Fixed3D.



AutoSize property

The .NET PictureBox control doesn’t expose this property and you must manually resize the image. Notice that, if AutoSize is True and you are assigning an image in Metafile format, you can reproduce the VB6 behavior by assigning the Image to the BackgroundImage property and by assigning ImageLayout.Stretch to the BackgroundImageLayout property.

VB Migration Partner fully supports this property. No manual adjustments of other properties are necessary.



Change event

The Change event isn’t supported by the VB.NET PictureBox. If you display an image by assigning it to the BackgroundImage property, you can handle the BackgroundImageChanged event instead.

VB Migration Partner fully supports the Change event. No modifications in code are necessary.



Container functionality

The main difference between the VB6 and VB.NET versions of the PictureBox control is that the latter can’t work as a container for other controls. If the original application used the PictureBox as a control container, VB.NET code generated by the Upgrade Wizard needs to be heavily modified by hand.

VB Migration Partner overcomes this limitation and correctly migrates PictureBox controls that work as control container.



KeyDown and KeyUp events

These events are supported under VB.NET, however there is a minor difference in how arrow keys are processed. In VB6 these keys are treated like any other keys and are notified to the KeyDown and KeyUp events. Under VB.NET these keys can move the input focus to a different control and might not notified to the events.

VB Migration Partner ensures that arrow keys be processed exactly as in VB6, thus no code adjustment is necessary.



Picture property

The Picture property isn’t supported by the VB.NET PictureBox control. It must be replaced by the Image property or the BackgroundImage property.