1. Home
  2. Computing & Technology
  3. Visual Basic

GDI+ Graphics in Visual Basic 2005 .NET
Geoff's Traffic Light Simulator

By , About.com Guide

Mar 4 2007

Consider this to be a "time out" in our march toward mastering GDI+!

I received an email from Geoff, an About Visual Basic reader who also writes programming tutorials in Scotland. He was upgrading a golden oldie that had been written originally in VB 3.0! The idea was to teach the concept of binary numbers by relating a 3-digit binary number to a traffic light. If a bit was turned on, the corresponding light in a red-yellow-green traffic signal would also be turned on.

The VB 3.0 version of this program used images dropped into a form component and it was pretty simple:

lights.Image = lightsred.Image ' VB 3.0 code

Encouraged by this series, Geoff wanted to draw shapes using GDI+ instead, but was having trouble making it work. I suggested some code that resulted in a form that looks like this:

--------
Click Here to display the illustration
Click the Back button on your browser to return
--------

Rather than the VB 3.0 technique of using an image created in a graphics editor, I set the Brush object - L1, L2, or L3 - used to draw a filled circle to either white or the color of the traffic light signal. That made the actual code used to draw the signal look like this:

g.FillEllipse(L1, 39, 11, 30, 30)

As in previous programs, I figured out the position and size by adjusting the numbers until it looked good.

The circles - actually round "ellipse" shapes in GDI+ - are drawn when a Panel component is invalidated and a Paint event is triggered. The circles are then drawn on top of another image to create a traffic light.

Explore Visual Basic
By Category
About.com Special Features

Holiday Central

What to eat, where to go, fun things to do and how to save money on the perfect gifts. More >

Family Tech Center

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

  1. Home
  2. Computing & Technology
  3. Visual Basic
  4. Using VB.NET
  5. GDI+ Graphics in Visual Basic 2005 .NET

©2009 About.com, a part of The New York Times Company.

All rights reserved.