You must Sign In to post a response.
  • Category: .NET

    How to Draw Circle in C# windows Form

    Hi
    I have one windows form having a circle on center of the form.I wants to draw a 200 circles around my centered circle and connect that 200 circles to centered circle through the line,without touching the any outer circle.
    So any one tell me how do i implement?
  • #302873
    To draw circle use this code

    //--start


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    namespace circle
    {
    public partial class Form1 : Form
    {
    Graphics graphDrawingArea;
    Bitmap bmpDrawingArea;
    static int mainRadius = 10;
    static int smallRadius = 5;
    static bool isMax;
    static bool smallRadiusMax;


    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    bmpDrawingArea = new Bitmap(Width, Height);
    graphDrawingArea = Graphics.FromImage(bmpDrawingArea);
    }
    void DrawCentralCircle(int CenterX, int CenterY, int Radius)
    {
    int start = CenterX - Radius;
    int end = CenterY - Radius;
    int diam = Radius * 2;
    bmpDrawingArea = new Bitmap(Width, Height);
    graphDrawingArea = Graphics.FromImage(bmpDrawingArea);
    graphDrawingArea.DrawEllipse(new Pen(Color.Blue),start, end, diam, diam);
    }

    void DrawCornerCircle(int CenterX, int CenterY, int Radius)
    {
    int start = CenterX - Radius;
    int end = CenterY - Radius;
    int diam = Radius * 2;
    bmpDrawingArea = new Bitmap(Width, Height);
    graphDrawingArea = Graphics.FromImage(bmpDrawingArea);
    graphDrawingArea.DrawEllipse(new Pen(Color.Red),
    start, end, diam, diam);
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
    Graphics graph = Graphics.FromHwnd(this.Handle);

    int centerX = ClientRectangle.Width / 2;
    int centerY = ClientRectangle.Height / 2;

    if (isMax == true)
    mainRadius--;
    else
    mainRadius++;

    if (mainRadius > (ClientRectangle.Height / 2))
    isMax = true;
    if (mainRadius < 10)
    isMax = false;

    if (smallRadiusMax == true)
    smallRadius--;
    else
    smallRadius++;

    if (smallRadius > 240)
    smallRadiusMax = true;
    if (smallRadius < 5)
    smallRadiusMax = false;

    // Central
    DrawCentralCircle(centerX, centerY, mainRadius);
    // Top-Left
    DrawCornerCircle(centerX / 2, centerY / 2, smallRadius);
    // Top-Right
    DrawCornerCircle(centerX + (centerX / 2),
    centerY / 2, smallRadius);
    // Bottom-Left
    DrawCornerCircle(centerX / 2, centerY + (centerY / 2),
    smallRadius);
    // BottomRight
    DrawCornerCircle(centerX + (centerX / 2),
    centerY + (centerY / 2), smallRadius);

    graph.DrawImage(bmpDrawingArea, 0, 0);

    }

    }
    }


    //--end


This thread is locked for new responses. Please post your comments and questions as a separate thread.
If required, refer to the URL of this page in your new post.