当前位置: 首页>>代码示例>>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;未经允许,请勿转载。