Search - Articles
DevASP.NET for ASP.NET, VB.NET, XML and C# (C-Sharp) Developers Tuesday, March 03, 2009
Dev Articles
Search Directory
ASP.NET
VB.Net
C-Sharp
SQL Server
 

Draw a polygon on form using Graphics class in vb.net - C #.net.

Author: Maliha Atteeq
Download Source Code : 1033_polygonAPps.zip

In this simple article you will learn that how to draw polygon on the form using Graphics class in vb and C #.net.

 Graphics:

This is the very important class for making graphics of your own using c#. This class cannot be inherited. This class provides us a number of different methods for graphics creation. By using these methods you can create graphics of your own choice.

In this article I will tell you that how can we draw polygon using system.drawing.graphics.

Polygon draw:

In order to draw polygon on the form, firstly you should know the behavior of the form. While playing with the graphics you must keep the following point in your mind:

You can’t draw graphics on simple load event of the form. To create graphics on the form, you must override the onpaint() function of the form.

The syntax of the onpaint() function is:

C#:

protected override void OnPaint (PaintEventArgs e)

{

}

VB:

Dim e As PaintEventArgs

 

Me.OnPaint(e)

Polygon’s draw function:

In order to draw a polygon, graphics class provides us a function named as drawPolygon(). It is an overloaded function. By using this function you can draw polygon on the form. Depending on your requirement you can use any of the overloaded function. I use the following:

This function takes two arguments. The first argument is the object of Pen class. Pen class has the four overloaded constructor. You can use any of the constructors to initialize the object of pen class. I use the following:

C#:

System.Drawing.Pen pen = new System.Drawing.Pen(System.Drawing.Color.Black);

VB:

Dim pen As New System.Drawing.Pen(System.Drawing.Color.Black)

 

The second argument is an array of point class. This class also provides us four overloaded constructor, depending on your requirement you can use any of them. I use the following constructor. This constructor takes two arguments as an parameter which are x,y coordinate.

C#:

           System.Drawing.Point[] points = new Point[5];

            points[0] = new Point(75, 35);

            points[1] = new Point(85, 35);

            points[2] = new Point(45, 95);

            points[3] = new Point(65, 25);

            points[4] = new Point(65, 55);

VB:

Dim points As System.Drawing.Point() = New Point(5) {}

        points(0) = New Point(75, 35)

        points(1) = New Point(85, 35)

        points(2) = New Point(45, 95)

        points(3) = New Point(65, 25)

        points(4) = New Point(65, 55)

 

Pass all these arguments in the DrawPolygon() function provided by the graphics class. Once you do this then you have to call the Dispose() method to epose your created arc. The dispose() function takes no argument as a paameter. This function simply expose your graphics on the form. You have to call this function with the object of graphics and also with the object of pen class.

 

C#:

       pen.Dispose();

 

VB:

               pen.Dispose();

 

To demonstrate make a new window application and write the following code on form’s onpaint event:

C#:

protected override void OnPaint(PaintEventArgs e)

        {

            System.Drawing.Pen pen = new System.Drawing.Pen(System.Drawing.Color.BlueViolet);

            System.Drawing.Graphics obj;

            obj = this.CreateGraphics();

            System.Drawing.Point[] points = new Point[5];

            points[0] = new Point(75, 35);

            points[1] = new Point(85, 35);

            points[2] = new Point(45, 95);

            points[3] = new Point(65, 25);

            points[4] = new Point(65, 55);

            obj.DrawPolygon(pen, points);

            obj.Dispose();

        }

VB:

Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)

        Dim pen As New System.Drawing.Pen(System.Drawing.Color.BlueViolet)

        Dim obj As System.Drawing.Graphics

        obj = Me.CreateGraphics()

        Dim points As System.Drawing.Point() = New Point(5) {}

        points(0) = New Point(75, 35)

        points(1) = New Point(85, 35)

        points(2) = New Point(45, 95)

        points(3) = New Point(65, 25)

        points(4) = New Point(65, 55)

        obj.DrawPolygon(pen, points)

        obj.Dispose()

    End Sub

Now write the following code on FORM LOAD event:

C#:

private void Form1_Load(object sender, EventArgs e)

        {

            this.Text = "DEVASP POLYGON DRAW APPLICATION";

           

        }

Vb:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)

 

        Me.Text = "DEVASP POLYGON DRAW APPLICATION"

    End Sub

This simple article tells that how to draw polygon using Graphics class in vb and C #.net.

Article Comments
Now I know how to plot hundreds of points in a polygon, thanks!

Posted on 10/29/2010 11:24:05 AM by Volker Schreich

Simple initial point for .Net Graphics

Posted on 11/24/2010 9:48:42 AM by Susant

   
Add Article Comment:
Name :
Email Address :
   
Comments :
 
   
<< Draw multiple rectangles on form using Graphics class in vb.net - C #.net.

Disclaimer - Privacy
© 2002-2017 DevASP.net