Using VB.net (Visual Basic 2005) it is really easy to make a tabbed form with several tabs that can be added, removed and re-ordered easily. The TabControl is very easy to use and work with, and intuitive to the end-user. By default the control has text labels on each tab, and the tabs go across the top of the form. This article describes how to configure the tabcontrol so that it has images on the tabs, and the tabs go down the left side of the form.
To do this you need to add an ImageList component onto your form. You can find the ImageList in the Components section of your Toolbox. The ImageList can be placed anywhere as it is not visible. Once you have added it, you can change the Image Size and Bit Depth of the images, but really what you need to do first is to add the images into the ImageList, which is accomplished through the "Choose Images" dialog of the ImageList control:

You add images one at a time from anywhere on your file system. Each can be assigned a name for easy reference, and they will all be imported into your solution.
You can now go to the properties of the tab control and point the ImageList property to the imagelist control that you added. You now need to go to each individual TabPage and set either the ImageIndex or ImageKey property to be one of the images in the ImageList. You may need to resize the tabs to get what you want.
If you also set the Text property for the TabPage, then this text appears to the right of the image on the tab. I wanted the text to appear below the image, but I could find no way to do it.
This is really simple, just change the Alignment property of the TabControl. "Bottom" seems pretty pointless, and "Top" is most common. "Left" or "Right" can be used to make a nice "menu" effect down one side of the control.