DesignerGlyph.CanBeActivated 屬性

定義

取得值,指出 DesignerGlyph 是否可以在與其相關的 ActivityDesigner 上取得焦點。Gets a value indicating whether the DesignerGlyph can gain focus on the ActivityDesigner with which it is associated.

public:
 virtual property bool CanBeActivated { bool get(); };
public virtual bool CanBeActivated { get; }
member this.CanBeActivated : bool
Public Overridable ReadOnly Property CanBeActivated As Boolean

屬性值

如果可以啟動設計工具圖像,則為 true;否則為 falsetrue if the designer glyph can be activated; otherwise, false. 預設為 falseThe default is false.

範例

下列程式碼範例將示範 CanBeActivated 屬性的實作。The following example demonstrates an implementation of the CanBeActivated property. 這個範例來自<追蹤設定檔設計工具 SDK>範例。This example is from the Tracking Profile Designer SDK sample. 如需詳細資訊, 請參閱追蹤設定檔設計工具範例For more information, see Tracking Profile Designer Sample.

/// <summary>
/// This glyph shows that the activity's track point is not correctly configured
/// </summary>
internal sealed class ErrorActivityGlyph : DesignerGlyph
{
    static Bitmap image = Resources.error;
    string errorMessage;

    internal ErrorActivityGlyph(string errorMessage)
    {
        this.errorMessage = errorMessage;
    }

    public override bool CanBeActivated
    {
        get
        {
            return true;
        }
    }

    /// <summary>
    /// Display an error message when this glyph is clicked
    /// </summary>
    /// <param name="designer"></param>
    protected override void OnActivate(ActivityDesigner designer)
    {
        MessageBox.Show(errorMessage);
    }

    public override Rectangle GetBounds(ActivityDesigner designer, bool activated)
    {
        Rectangle imageBounds = new Rectangle();
        if (image != null)
        {
            imageBounds.Size = image.Size;
            imageBounds.Location = new Point(designer.Bounds.Right - imageBounds.Size.Width / 4, designer.Bounds.Top - imageBounds.Size.Height / 2);
        }
        return imageBounds;
    }

    protected override void OnPaint(Graphics graphics, bool activated, AmbientTheme ambientTheme, ActivityDesigner designer)
    {
        image.MakeTransparent(Color.FromArgb(255, 255, 255));
        if (image != null)
        {
            graphics.DrawImage(image, GetBounds(designer, activated), new Rectangle(Point.Empty, image.Size), GraphicsUnit.Pixel);
        }
    }
}
' This glyph shows that the activity's track point is not correctly configured
Friend NotInheritable Class ErrorActivityGlyph
    Inherits DesignerGlyph

    Shared image As Bitmap = Resources.errorIcon
    Dim errorMessage As String

    Friend Sub New(ByVal errorMessage As String)
        Me.errorMessage = errorMessage
    End Sub

    Public Overrides ReadOnly Property CanBeActivated() As Boolean
        Get
            Return True
        End Get
    End Property

    ' Display an error message when this glyph is clicked
    Protected Overrides Sub OnActivate(ByVal designer As ActivityDesigner)
        MessageBox.Show(errorMessage)
    End Sub

    Public Overrides Function GetBounds(ByVal designer As ActivityDesigner, ByVal activated As Boolean) As Rectangle
        Dim imageBounds As New Rectangle()
        If image IsNot Nothing Then
            imageBounds.Size = image.Size
            imageBounds.Location = New Point(designer.Bounds.Right - imageBounds.Size.Width / 4, designer.Bounds.Top - imageBounds.Size.Height / 2)
        End If
        Return imageBounds
    End Function


    Protected Overrides Sub OnPaint(ByVal graphics As Graphics, ByVal activated As Boolean, ByVal ambientTheme As AmbientTheme, ByVal designer As ActivityDesigner)
        image.MakeTransparent(Color.FromArgb(255, 255, 255))
        If image IsNot Nothing Then
            graphics.DrawImage(image, GetBounds(designer, activated), New Rectangle(Point.Empty, image.Size), GraphicsUnit.Pixel)
        End If
    End Sub
End Class

適用於