A good place to start is to first learn the basics, like Inheritance, which allows you to base your control on some sort of existing control. Say you want to make a custom textbox, then you would create a control that inherits the textbox, then add the extra functionality you want into it. A great article to start is:
"Developing Custom Windows Controls Using Visual Basic .NET"
http://msdn.microsoft.com/library/de...rlsampover.asp
In order to change the look of the control, you would have to look at owner drawing, or code the Paint event using a graphics object and GDI+. I haven't messed with owner drawing, but I am sure you can find several results if you search for it. A basic tutorial on GDI+ can be found here:
"A Beginners Guide To GDI+"
http://www.bobpowell.net/beginnersgdi.htm