Graphics.DrawArc Method (Pen, RectangleF, Single, Single)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Draws an arc representing a portion of an ellipse specified by a RectangleF structure.

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void DrawArc(
	Pen pen,
	RectangleF rect,
	float startAngle,
	float sweepAngle


Type: System.Drawing.Pen

Pen that determines the color, width, and style of the arc.

Type: System.Drawing.RectangleF

RectangleF structure that defines the boundaries of the ellipse.

Type: System.Single

Angle in degrees measured clockwise from the x-axis to the starting point of the arc.

Type: System.Single

Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc.

Exception Condition

pen is null

This method draws an arc that is a portion of the perimeter of an ellipse. The ellipse is defined by the boundaries of a rectangle. The arc is the portion of the perimeter of the ellipse between the startAngle parameter and the startAngle + sweepAngle parameters.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates a black pen.

  • Creates a rectangle to bound an ellipse.

  • Defines the start (45 degrees) and sweep (270 degrees) angles.

  • Draws the elliptical arc to the screen.

The result is a partial ellipse missing a segment between + and - 45 degrees of the x axis.

private void DrawArcRectangleF(PaintEventArgs e)
    // Create pen.
    Pen blackPen= new Pen(Color.Black, 3);

    // Create rectangle to bound ellipse.
    RectangleF rect = new RectangleF(0.0F, 0.0F, 100.0F, 200.0F);

    // Create start and sweep angles on ellipse.
    float startAngle =  45.0F;
    float sweepAngle = 270.0F;

    // Draw arc to screen.
    e.Graphics.DrawArc(blackPen, rect, startAngle, sweepAngle);

.NET Framework
Available since 1.1
Return to top