GraphicsPath.AddPath(GraphicsPath, Boolean) Method

Definition

Appends the specified GraphicsPath to this path.

public:
 void AddPath(System::Drawing::Drawing2D::GraphicsPath ^ addingPath, bool connect);
public void AddPath (System.Drawing.Drawing2D.GraphicsPath addingPath, bool connect);
member this.AddPath : System.Drawing.Drawing2D.GraphicsPath * bool -> unit
Public Sub AddPath (addingPath As GraphicsPath, connect As Boolean)

Parameters

addingPath
GraphicsPath

The GraphicsPath to add.

connect
Boolean

A Boolean value that specifies whether the first figure in the added path is part of the last figure in this path. A value of true specifies that (if possible) the first figure in the added path is part of the last figure in this path. A value of false specifies that the first figure in the added path is separate from the last figure in this path.

Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. The code performs the following actions:

  • Creates two paths one a right-side-up triangle and the other an up-side-down triangle.

  • Adds the second path to the first.

  • Draws the resultant path to the screen.

private:
   void AddPathExample( PaintEventArgs^ e )
   {
      // Create the first pathright side up triangle.
      array<Point>^ myArray = {Point(30,30),Point(60,60),Point(0,60),Point(30,30)};
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddLines( myArray );

      // Create the second pathinverted triangle.
      array<Point>^ myArray2 = {Point(30,30),Point(0,0),Point(60,0),Point(30,30)};
      GraphicsPath^ myPath2 = gcnew GraphicsPath;
      myPath2->AddLines( myArray2 );

      // Add the second path to the first path.
      myPath->AddPath( myPath2, true );

      // Draw the combined path to the screen.
      Pen^ myPen = gcnew Pen( Color::Black,2.0f );
      e->Graphics->DrawPath( myPen, myPath );
   }
private void AddPathExample(PaintEventArgs e)
{
             
    // Create the first pathright side up triangle.
    Point[] myArray =
             {
                 new Point(30,30),
                 new Point(60,60),
                 new Point(0,60),
                 new Point(30,30)
             };
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddLines(myArray);
             
    // Create the second pathinverted triangle.
    Point[] myArray2 =
             {
                 new Point(30,30),
                 new Point(0,0),
                 new Point(60,0),
                 new Point(30,30)
             };
    GraphicsPath myPath2 = new GraphicsPath();
    myPath2.AddLines(myArray2);
             
    // Add the second path to the first path.
    myPath.AddPath(myPath2,true);
             
    // Draw the combined path to the screen.
    Pen myPen = new Pen(Color.Black, 2);
    e.Graphics.DrawPath(myPen, myPath);
}
Public Sub AddPathExample(ByVal e As PaintEventArgs)

    ' Creates a symetrical triangle and adds an inverted triangle.

    ' Create the first path - right side up triangle.
    Dim myArray As Point() = {New Point(30, 30), New Point(60, 60), _
    New Point(0, 60), New Point(30, 30)}
    Dim myPath As New GraphicsPath
    myPath.AddLines(myArray)

    ' Create the second path - inverted triangle.
    Dim myArray2 As Point() = {New Point(30, 30), New Point(0, 0), _
    New Point(60, 0), New Point(30, 30)}
    Dim myPath2 As New GraphicsPath
    myPath2.AddLines(myArray2)

    ' Add the second path to the first path.
    myPath.AddPath(myPath2, True)

    ' Draw the combined path to the screen.
    Dim myPen As New Pen(Color.Black, 2)
    e.Graphics.DrawPath(myPen, myPath)
End Sub

Applies to