共用方式為


ShapeElement.DoHitTest Method (PointD, DiagramHitTestInfo, Boolean)

Returns true if the specified point is within the shape.

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll)

Syntax

'Declaration
Public Overridable Function DoHitTest ( _
    point As PointD, _
    hitTestInfo As DiagramHitTestInfo, _
    includeTolerance As Boolean _
) As Boolean
public virtual bool DoHitTest(
    PointD point,
    DiagramHitTestInfo hitTestInfo,
    bool includeTolerance
)
public:
virtual bool DoHitTest(
    PointD point, 
    DiagramHitTestInfo^ hitTestInfo, 
    bool includeTolerance
)
abstract DoHitTest : 
        point:PointD * 
        hitTestInfo:DiagramHitTestInfo * 
        includeTolerance:bool -> bool  
override DoHitTest : 
        point:PointD * 
        hitTestInfo:DiagramHitTestInfo * 
        includeTolerance:bool -> bool
public function DoHitTest(
    point : PointD, 
    hitTestInfo : DiagramHitTestInfo, 
    includeTolerance : boolean
) : boolean

Parameters

  • includeTolerance
    Type: System.Boolean

    true to include the boundary area around the shape when the hit test is performed; otherwise, false.

Return Value

Type: System.Boolean
true if the shape was hit; otherwise, false.

Remarks

If the method returns true, the hitTestInfo indicates the DiagramItem that was actually hit, which might be a child of the shape.

Instead of calling this directly from a command, consider overriding OnClick() or OnDoubleClick(), in which the HitTestInfo is included in the event argument.

Examples

public override global::System.Windows.Forms.Cursor GetCursor(global::System.Windows.Forms.Cursor currentCursor, DslDiagrams::DiagramClientView diagramClientView, DslDiagrams::PointD mousePosition)
{
if (this.MouseDownHitShape == null && currentCursor != global::System.Windows.Forms.Cursors.No)
{
DslDiagrams::DiagramHitTestInfo hitTestInfo = new DslDiagrams::DiagramHitTestInfo(diagramClientView);
this.Diagram.DoHitTest(mousePosition, hitTestInfo);
DslDiagrams::ShapeElement shape = hitTestInfo.HitDiagramItem.Shape;
}
return base.GetCursor(currentCursor, diagramClientView, mousePosition);
}

.NET Framework Security

See Also

Reference

ShapeElement Class

DoHitTest Overload

Microsoft.VisualStudio.Modeling.Diagrams Namespace