當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET ActivityDesigner類代碼示例

本文整理匯總了VB.NET中System.Workflow.ComponentModel.Design.ActivityDesigner的典型用法代碼示例。如果您正苦於以下問題:VB.NET ActivityDesigner類的具體用法?VB.NET ActivityDesigner怎麽用?VB.NET ActivityDesigner使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了ActivityDesigner類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: CustomActivityDesigner

<ActivityDesignerTheme(GetType(CustomCompositeActivityDesignerTheme))> _
Public Class CustomActivityDesigner
    Inherits ActivityDesigner

   
    Public Overrides Function CanBeParentedTo(ByVal parentActivityDesigner As CompositeActivityDesigner) As Boolean
        If parentActivityDesigner.GetType().ToString() = "System.Workflow.Activities.IfElseBranchDesigner" Then
            Return False
        End If
        Return True
    End Function

    Private verbsValue As ActivityDesignerVerbCollection = Nothing

    Protected Overrides ReadOnly Property Verbs() As ActivityDesignerVerbCollection
        Get
            If verbsValue Is Nothing Then
                CreateActivityVerbs()
            End If
            Return Me.verbsValue

        End Get
    End Property

    Private Sub CreateActivityVerbs()
        Me.verbsValue = New ActivityDesignerVerbCollection()

        Dim addBranchVerb As New ActivityDesignerVerb(Me, DesignerVerbGroup.View, "Add New Parallel Branch", AddressOf OnAddParallelBranch)

        Me.verbsValue.Clear()

        Me.verbsValue.Add(addBranchVerb)
    End Sub

    Protected Sub OnAddParallelBranch(ByVal sender As Object, ByVal e As EventArgs)
        ' Code for adding a new branch to the parallel activity goes here
    End Sub

    Protected Overrides ReadOnly Property ImageRectangle() As Rectangle

        Get
            Dim Bounds As Rectangle = Me.Bounds
            Dim sz As New Size(24, 24)

            Dim imageRect As New Rectangle()
            imageRect.X = Bounds.Left + ((Bounds.Width - sz.Width) / 2)
            imageRect.Y = Bounds.Top + 4
            imageRect.Size = sz

            Return imageRect
        End Get
    End Property

    Protected Overrides ReadOnly Property TextRectangle() As Rectangle
        Get
            Return New Rectangle( _
                Me.Bounds.Left + 2, _
                 Me.ImageRectangle.Bottom, _
                Me.Bounds.Width - 4, _
                Me.Bounds.Height - Me.ImageRectangle.Height - 1)
        End Get
    End Property


    Protected Overrides Sub Initialize(ByVal activity As Activity)

        MyBase.Initialize(activity)
        Dim bmp As Bitmap = Resources.ToolboxImage
        bmp.MakeTransparent()
        Me.Image = bmp
    End Sub

    Shared ReadOnly BaseSize As New Size(64, 64)
    Protected Overrides Function OnLayoutSize(ByVal e As ActivityDesignerLayoutEventArgs) As Size
        Return BaseSize
    End Function

    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
End Class
開發者ID:VB.NET開發者,項目名稱:System.Workflow.ComponentModel.Design,代碼行數:134,代碼來源:ActivityDesigner


注:本文中的System.Workflow.ComponentModel.Design.ActivityDesigner類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。