Resources

VB6 vs VB.NET controls - PictureBox control


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.







Follow Francesco Balena on VB6 migration’s group on

LinkedIn





Read Microsoft Corp’s official case study of a VB6 conversion using VB Migration Partner.




Code Architects and its partners offers remote and onsite migration services.

More details




Subscribe to our free newsletter for useful VB6 migration tips and techniques.

newsletter



To learn more about your VB6 applications, run VB6 Analyzer on your source code and send us the generated text file. You will receive a detailed report about your VB6 applications and how VB Migration Partner can help you to quickly and effectively migrate it to .NET.

Get free advice



A fully-working, time-limited Trial Edition of VB Migration Partner allows you to test it against your actual code

Get the Trial




The price of VB Migration Partner depends on the size of the VB6 application, the type of license, and other factors

Request a quote




Migrating a VB6 application in 10 easy steps

Comparing VB Migration Partner with Upgrade Wizard

Migration tools: Feature Comparison Table

All whitepapers