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
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.
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.
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.
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.
The Picture property isn’t supported by the VB.NET PictureBox control. It must be replaced by the Image property or the BackgroundImage property.