CustomLineCap.Clone 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建此 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 窗体一起使用,它需要 PaintEventArgse
Paint 事件对象。 该代码执行以下操作:
使用 GraphicsPath 对象创建自定义线条上限。
使用刚刚创建的 GraphicsPath 对象创建 CustomLineCap 对象
firstCap
。使用 Clone 方法创建
firstCap
的克隆。设置 Pen 对象的 CustomStartCap 和 CustomEndCap 属性,并使用该笔将线条和自定义上限绘制到屏幕。
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);
}