How to: Draw Shapes with the .NET Framework


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

For the latest documentation on Visual Studio 2017, see How to: Draw Shapes with the .NET Framework on

The following code example uses the Graphics class to modify the OnPaint event handler to retrieve a pointer to the Graphics object for the main form. This pointer is then used to set the background color of the form and draw a line and an arc using the Graphics.DrawLine and DrawArc methods.


GDI+ is included with Windows XP and is available as a redistributable for Windows NT 4.0 SP 6, Windows 2000, Windows 98, and Windows Me. To download the latest redistributable, see


#using <system.drawing.dll>  
using namespace System;  
using namespace System::Drawing;  
// ...  
virtual Void Form1::OnPaint(PaintEventArgs^ pe ) override  
   Graphics^ g = pe->Graphics;  
   Rectangle rect = Form::ClientRectangle;  
   Rectangle smallRect;  
   smallRect.X = rect.X + rect.Width / 4;  
   smallRect.Y = rect.Y + rect.Height / 4;  
   smallRect.Width = rect.Width / 2;  
   smallRect.Height = rect.Height / 2;  
   Pen^ redPen = gcnew Pen(Color::Red);  
   redPen->Width = 4;  
   g->DrawLine(redPen, 0, 0, rect.Width, rect.Height);  
   Pen^ bluePen = gcnew Pen(Color::Blue);  
   bluePen->Width = 10;  
   g->DrawArc( bluePen, smallRect, 90, 270 );  

See Also

.NET Programming with C++/CLI (Visual C++)
System::Drawing namespace