ActivityDesignerPaint Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Предоставляет статические методы, используемые для отрисовки элементов пользовательского интерфейса в рабочих областях конструкторов действий. Этот класс не наследуется.
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
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type ActivityDesignerPaint = class
Public Class ActivityDesignerPaint
- Наследование
-
ActivityDesignerPaint
- Атрибуты
Примеры
В следующем примере показан способ использования объекта ActivityDesignerPaint для отрисовки пользовательской операции в рабочей области конструктора рабочих процессов. Сначала рисуется прямоугольник с закругленными углами с использованием метода DrawRoundedRectangle. Затем рисуется текст с помощью метода DrawText и помещается в расположение, которое задается свойством TextRectangle объекта ActivityDesigner. Кроме того, изображение Image, связанное с объектом ActivityDesigner, рисуется с помощью метода DrawImage класса ActivityDesignerPaint. Наконец, кнопка развертывания, используемая объектом CompositeActivity, рисуется с помощью метода 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)
{
base.OnPaint(e);
return;
}
DrawCustomActivity(e);
}
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);
}
ActivityDesignerPaint.DrawExpandButton(graphics,
new Rectangle(this.Location.X, this.Location.Y, 10, 10),
this.Expanded,
compositeDesignerTheme);
}
Private expandedValue As Boolean = True
Private useBasePaintValue As Boolean = False
Public Property UseBasePaint() As Boolean
Get
Return Me.useBasePaintValue
End Get
Set(ByVal value As Boolean)
Me.useBasePaintValue = value
End Set
End Property
Public Property Expanded() As Boolean
Get
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
MyBase.OnPaint(e)
Return
End If
DrawCustomActivity(e)
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, _
compositeDesignerTheme)
End Sub
Комментарии
Примечание
В этом материале обсуждаются устаревшие типы и пространства имен. Дополнительные сведения см. в статье о нерекомендуемых типах в Windows Workflow Foundation 4.5.
Методы
Draw3DButton(Graphics, Image, Rectangle, Single, ButtonState) |
Рисует 3-мерную кнопку в рабочей области конструктора действий. |
DrawExpandButton(Graphics, Rectangle, Boolean, CompositeDesignerTheme) |
Рисует кнопку, которая используется для развертывания и свертывания составных конструкторов в рабочей области конструктора операций. |
DrawImage(Graphics, Image, Rectangle, DesignerContentAlignment) |
Рисует изображение в рабочей области конструктора действий, используя объекты Graphics, Image, Rectangle и перечисление DesignerContentAlignment. |
DrawImage(Graphics, Image, Rectangle, Rectangle, DesignerContentAlignment, Single, Boolean) |
Рисует изображение в рабочей области конструктора действий, используя объекты Graphics, Image, исходный и целевой объект Rectangle, перечисление DesignerContentAlignment, число одиночной точности с плавающей запятой и логическое значение. |
DrawRoundedRectangle(Graphics, Pen, Rectangle, Int32) |
Рисует прямоугольник с закругленными углами в рабочей области конструктора операций. |
DrawText(Graphics, Font, String, Rectangle, StringAlignment, TextQuality, Brush) |
Рисует текст в рабочей области конструктора действий. |
GetRoundedRectanglePath(Rectangle, Int32) |
Возвращает графический контур, используемый для заданного прямоугольника с закругленными углами. |