CustomLineCap.Clone Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates an exact copy of this CustomLineCap.
public:
virtual System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Function Clone () As Object
Returns
The CustomLineCap this method creates, cast as an object.
Implements
Examples
The following example is designed for use with Windows Forms, and it requires PaintEventArgs e
, an Paint event object. The code performs the following actions:
Creates a custom line cap by using the GraphicsPath object.
Creates a CustomLineCap object,
firstCap
,using the GraphicsPath object just created.Creates a clone of
firstCap
by using the Clone method.Sets up the CustomStartCap and CustomEndCap properties of the Pen object, and uses that pen to draw a line and the custom caps to the screen.
Public Sub CloneExample(e As PaintEventArgs)
Dim points As Point() = New Point(- 5, - 5) New Point(0, 0) _
New Point(5, - 5)
Dim capPath As New GraphicsPath()
' Create a Path and add two lines to it,
' forming a custom line cap.
capPath.AddLines(points)
' Create a CustomLineCap object.
Dim firstCap As New CustomLineCap(Nothing, capPath)
' Create a copy of firstCap.
Dim secondCap As CustomLineCap = CType(firstCap.Clone(), _
CustomLineCap)
' Create a Pen object.
Dim pen As New Pen(Color.Black, 3F)
'Set up the line.
Dim point1 As New Point(20, 20)
Dim point2 As New Point(100, 100)
' Set up the caps.
pen.CustomStartCap = firstCap
pen.CustomEndCap = secondCap
' Draw the line and caps to the screen.
e.Graphics.DrawLine(pen, point1, point2)
End Sub
private void CloneExample(PaintEventArgs e)
{
// Create a Path and add two lines to it,
// forming a custom line cap.
Point[] points =
{
new Point(-5, -5),
new Point(0, 0),
new Point(5, -5)
};
GraphicsPath capPath = new GraphicsPath();
capPath.AddLines(points);
// Create a CustomLineCap object.
CustomLineCap firstCap = new CustomLineCap(null, capPath);
// Create a copy of firstCap.
CustomLineCap secondCap = (CustomLineCap)firstCap.Clone();
// Create a Pen object.
Pen pen = new Pen(Color.Black, 3.0f);
// Set up the line.
Point point1 = new Point(20, 20);
Point point2 = new Point(100, 100);
// Set up the caps.
pen.CustomStartCap = firstCap;
pen.CustomEndCap = secondCap;
// Draw the line and caps to the screen.
e.Graphics.DrawLine(pen, point1, point2);
}