ActivityDesignerPaint 類別



此 API 現已淘汰。

提供靜態方法,用來在活動設計工具介面上繪製使用者介面項目。Provides static methods used to draw user interface elements on activity designer surfaces. 這個類別無法被繼承。This class cannot be inherited.

public ref class ActivityDesignerPaint abstract sealed
public static class ActivityDesignerPaint
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public static class ActivityDesignerPaint
type ActivityDesignerPaint = class
Public Class ActivityDesignerPaint


下列範例將示範使用 ActivityDesignerPaint 類別在工作流程設計介面上繪製自訂活動。The following example demonstrates a way to use the ActivityDesignerPaint class to draw a custom activity on the workflow design surface. 先使用 DrawRoundedRectangle 方法來繪製圓角矩形。A rounded rectangle is first drawn using the DrawRoundedRectangle method. 然後,使用 DrawText 繪製文字,並放置在 TextRectangleActivityDesigner 位置。Text is then drawn using DrawText and is placed at the location of the TextRectangle of the ActivityDesigner. 此外,與 Image 相關聯的 ActivityDesigner 是使用 DrawImage 類別的 ActivityDesignerPaint 方法進行繪製的。Additionally, the Image associated with the ActivityDesigner is drawn using the DrawImage method of the ActivityDesignerPaint class. 最後,CompositeActivity 所使用的展開按鈕是使用 DrawExpandButton 繪製的。Finally, an expand button used by a CompositeActivity is drawn using the DrawExpandButton.

private bool expanded = true;
private bool useBasePaint = false;

public bool UseBasePaint
    get { return this.useBasePaint; }
    set { this.useBasePaint = value; }

public bool Expanded
    get { return this.expanded; }
    set { this.expanded = value; }

protected override void OnPaint(ActivityDesignerPaintEventArgs e)
    if (this.UseBasePaint == true)


private void DrawCustomActivity(ActivityDesignerPaintEventArgs e)
    Graphics graphics = e.Graphics;

    CompositeDesignerTheme compositeDesignerTheme = (CompositeDesignerTheme)e.DesignerTheme;

    ActivityDesignerPaint.DrawRoundedRectangle(graphics, compositeDesignerTheme.BorderPen, this.Bounds, compositeDesignerTheme.BorderWidth);

    string text = this.Text;
    Rectangle textRectangle = this.TextRectangle;
    if (!String.IsNullOrEmpty(text) && !textRectangle.IsEmpty)
        ActivityDesignerPaint.DrawText(graphics, compositeDesignerTheme.Font, text, textRectangle, StringAlignment.Center, e.AmbientTheme.TextQuality, compositeDesignerTheme.ForegroundBrush);

    System.Drawing.Image image = this.Image;
    Rectangle imageRectangle = this.ImageRectangle;
    if (image != null && !imageRectangle.IsEmpty)
        ActivityDesignerPaint.DrawImage(graphics, image, imageRectangle, DesignerContentAlignment.Fill);

        new Rectangle(this.Location.X, this.Location.Y, 10, 10),
Private expandedValue As Boolean = True
Private useBasePaintValue As Boolean = False

Public Property UseBasePaint() As Boolean
        Return Me.useBasePaintValue
    End Get

    Set(ByVal value As Boolean)
        Me.useBasePaintValue = value
    End Set
End Property

Public Property Expanded() As Boolean
        Return Me.expandedValue
    End Get
    Set(ByVal value As Boolean)
        Me.expandedValue = value
    End Set
End Property

Protected Overrides Sub OnPaint(ByVal e As ActivityDesignerPaintEventArgs)
    If Me.UseBasePaint = True Then
    End If

End Sub

Private Sub DrawCustomActivity(ByVal e As ActivityDesignerPaintEventArgs)
    Dim graphics As Graphics = e.Graphics

    Dim compositeDesignerTheme As CompositeDesignerTheme = CType(e.DesignerTheme, CompositeDesignerTheme)

    ActivityDesignerPaint.DrawRoundedRectangle(graphics, compositeDesignerTheme.BorderPen, Me.Bounds, compositeDesignerTheme.BorderWidth)

    Dim text As String = Me.Text
    Dim TextRectangle As Rectangle = Me.TextRectangle
    If Not String.IsNullOrEmpty(text) And Not TextRectangle.IsEmpty Then
        ActivityDesignerPaint.DrawText(graphics, compositeDesignerTheme.Font, text, TextRectangle, StringAlignment.Center, e.AmbientTheme.TextQuality, compositeDesignerTheme.ForegroundBrush)
    End If

    Dim Image As System.Drawing.Image = Me.Image
    Dim ImageRectangle As Rectangle = Me.ImageRectangle
    If Image IsNot Nothing And Not ImageRectangle.IsEmpty Then
        ActivityDesignerPaint.DrawImage(graphics, Image, ImageRectangle, DesignerContentAlignment.Fill)
    End If

    ActivityDesignerPaint.DrawExpandButton(graphics, _
        New Rectangle(Me.Location.X, Me.Location.Y, 10, 10), _
        Me.Expanded, _
End Sub



此資料討論已被汰換的類型及命名空間。This material discusses types and namespaces that are obsolete. 如需詳細資訊,請參閱 Windows Workflow Foundation 4.5 中即將淘汰的類型For more information, see Deprecated Types in Windows Workflow Foundation 4.5.


Draw3DButton(Graphics, Image, Rectangle, Single, ButtonState)

在活動設計工具介面上繪製 3D 按鈕。Draws a 3-dimensional button on the activity designer surface.

DrawExpandButton(Graphics, Rectangle, Boolean, CompositeDesignerTheme)

在活動設計工具介面上繪製用來展開和摺疊複合設計工具的按鈕。Draws a button that is used to expand and collapse composite designers on the activity designer surface.

DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment)

使用 GraphicsImageRectangleDesignerContentAlignment,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a Rectangle, and a DesignerContentAlignment.

DrawImage(Graphics, Image, Rectangle, Rectangle, DesignerContentAlignment, Single, Boolean)

使用 GraphicsImage、一個來源和目的 RectangleDesignerContentAlignment、單精確度浮點數和布林值,在活動設計工具介面上繪製影像。Draws an image on the activity designer surface by using a Graphics, an Image, a source and destination Rectangle, an DesignerContentAlignment, a single-precision floating-point number, and a Boolean value.

DrawRoundedRectangle(Graphics, Pen, Rectangle, Int32)

在活動設計工具介面上繪製圓角矩形。Draws a rounded rectangle on the activity designer surface.

DrawText(Graphics, Font, String, Rectangle, StringAlignment, TextQuality, Brush)

在活動設計工具介面上繪製文字。Draws text on the activity designer surface.

GetRoundedRectanglePath(Rectangle, Int32)

傳回用來繪製指定之圓角矩形的圖形路徑。Returns the graphics path used to draw the specified rounded rectangle.