LinearGradientBrush.Clone 方法

定义

创建此 LinearGradientBrush的确切副本。

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

返回

此方法创建 LinearGradientBrush 作为对象强制转换。

示例

下面的代码示例旨在与 Windows 窗体一起使用,它需要 PaintEventArgseOnPaint 事件对象。 该代码执行以下操作:

  • 创建新的 LinearGradientBrush

  • 使用此画笔将省略号绘制到屏幕。

  • 克隆 LinearGradientBrushclonedLGBrush)。

  • 使用克隆的画笔将椭圆绘制到屏幕正下方的第一个椭圆。

private:
   void CloneExample( PaintEventArgs^ e )
   {
      // Create a LinearGradientBrush.
      int x = 20,y = 20,h = 100,w = 200;
      Rectangle myRect = Rectangle(x,y,w,h);
      LinearGradientBrush^ myLGBrush = gcnew LinearGradientBrush( myRect,Color::Blue,Color::Aquamarine,45.0f,true );

      // Draw an ellipse to the screen using the LinearGradientBrush.
      e->Graphics->FillEllipse( myLGBrush, x, y, w, h );

      // Clone the LinearGradientBrush.
      LinearGradientBrush^ clonedLGBrush = dynamic_cast<LinearGradientBrush^>(myLGBrush->Clone());

      // Justify the left edge of the gradient with the
      // left edge of the ellipse.
      clonedLGBrush->TranslateTransform(  -100.0f, 0.0f );

      // Draw a second ellipse to the screen using the cloned HBrush.
      y = 150;
      e->Graphics->FillEllipse( clonedLGBrush, x, y, w, h );
   }
private void CloneExample(PaintEventArgs e)
{
             
    // Create a LinearGradientBrush.
    int x=20, y=20, h=100, w=200;
    Rectangle myRect = new Rectangle(x, y, w, h);
    LinearGradientBrush myLGBrush = new LinearGradientBrush(
        myRect, Color.Blue, Color.Aquamarine, 45.0f, true);

    // Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, x, y, w, h);
             
    // Clone the LinearGradientBrush.
    LinearGradientBrush clonedLGBrush =
        (LinearGradientBrush)myLGBrush.Clone();
             
    // Justify the left edge of the gradient with the
    // left edge of the ellipse.
    clonedLGBrush.TranslateTransform(-100.0f, 0.0f);
             
    // Draw a second ellipse to the screen using the cloned HBrush.
    y=150;
    e.Graphics.FillEllipse(clonedLGBrush, x, y, w, h);
}
Public Sub CloneExample(ByVal e As PaintEventArgs)

    ' Create a LinearGradientBrush.
    Dim x As Integer = 20
    Dim y As Integer = 20
    Dim h As Integer = 100
    Dim w As Integer = 200
    Dim myRect As New Rectangle(x, y, w, h)
    Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
    Color.Aquamarine, 45.0F, True)

    ' Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, x, y, w, h)

    ' Clone the LinearGradientBrush.
    Dim clonedLGBrush As LinearGradientBrush = _
    CType(myLGBrush.Clone(), LinearGradientBrush)

    ' Justify the left edge of the gradient with the left edge of the
    ' ellipse.
    clonedLGBrush.TranslateTransform(-100.0F, 0.0F)

    ' Draw a second ellipse to the screen using the cloned HBrush.
    y = 150
    e.Graphics.FillEllipse(clonedLGBrush, x, y, w, h)
End Sub

适用于