CustomLineCap.Clone メソッド

定義

この CustomLineCap の同一コピーを作成します。

public:
 virtual System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Function Clone () As Object

戻り値

このメソッドが作成し、オブジェクトとしてキャストされる CustomLineCap

実装

次の例は、Windows フォームで使用するように設計されており、イベント オブジェクトがPaint必要PaintEventArgseです。 コードは、次のアクションを実行します。

  • オブジェクトを使用してカスタムの線の上限を GraphicsPath 作成します。

  • 先ほど作成した CustomLineCap オブジェクトを使用して、 firstCapオブジェクトを GraphicsPath 作成します。

  • メソッドを使用して の firstCap クローンを作成します Clone

  • オブジェクトの CustomStartCap プロパティと CustomEndCap プロパティを Pen 設定し、そのペンを使用して線とユーザー設定のキャップを画面に描画します。

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);
 }

適用対象