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
 

How to draw a spiral on the form in VB - C #.net.

Author: Maliha Atteeq
Download Source Code : 1098_Kode.zip

In this simple article you will learn that how to draw a spiral on the form in vb and C #.net.

 Graphics:

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)

Make an object of garaphics and an array of pointF class. There are two constructors for making the  object, depending on your requirements you can select anyone among them.

C#:

PointF[] aptf = new PointF[cx];

VB:

Dim aptf As PointF() = New PointF(cx - 1) {}

The next function is the drawLines(). This function has 1 overloaded methods,depending on your requirements you can use any of them. The return type of this function is void.

The syntax of the DrawLines() function is:

C#:

g.DrawLines(new Pen(Color.BlueViolet), aptf);

VB:

g.DrawLines(New Pen(Color.BlueViolet), aptf)

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

C#:

       protected override void OnPaint(PaintEventArgs e)

        {

            int cx = ClientSize.Width;

            int cy = ClientSize.Height;

            Graphics g = e.Graphics;

            const int spirals   = 20;

            int curls = spirals * 2 * (cx + cy);

            PointF[]  arr       = new PointF[curls];

            float  angle, scale;

            for (int i = 0; i < curls; i++)

            {

               angle = (float)(i * 2 * Math.PI /(curls / spirals));

               scale = 1 - (float)i / curls;

  

               arr[i].X = (float)(cx / 2 * (1 + scale * Math.Cos(angle)));

               arr[i].Y = (float)(cy / 2 * (1 + scale * Math.Sin(angle)));

          }

            g.DrawLines(new Pen(Color.DarkMagenta), arr);

     }

VB:

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

    Dim cx As Integer = ClientSize.Width

    Dim cy As Integer = ClientSize.Height

    Dim g As Graphics = e.Graphics

    Const spirals As Integer = 20

    Dim curls As Integer = spirals * 2 * (cx + cy)

    Dim arr As PointF() = New PointF(curls - 1) {}

    Dim angle As Single, scale As Single

    For i As Integer = 0 To curls - 1

        angle = CSng(i * 2 * Math.PI / (curls / spirals))

        scale = 1 - CSng(i) / curls

 

        arr(i).X = CSng(cx / 2 * (1 + scale * Math.Cos(angle)))

        arr(i).Y = CSng(cy / 2 * (1 + scale * Math.Sin(angle)))

    Next

    g.DrawLines(New Pen(Color.DarkMagenta), arr)

End Sub

Now write the following code on FORM LOAD event:

C#:

private void Form1_Load(object sender, EventArgs e)

        {

            this.Text = "DEVASP APPLICATION";

        }

 

VB:

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

    Me.Text = "DEVASP APPLICATION"

End Sub

This simple article tells that how to draw a spiral on the form in vb and C #.net.

   
Add Article Comment:
Name :
Email Address :
   
Comments :
 
   
<< How to draw a sine curve on the form in VB - C #.net.

Disclaimer - Privacy
© 2002-2017 DevASP.net