ShapeElement.DoHitTest 方法 (PointD, DiagramHitTestInfo, Boolean)
如果指定点在形状内则返回 true。
命名空间: Microsoft.VisualStudio.Modeling.Diagrams
程序集: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll 中)
语法
声明
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
)
参数
- point
类型:Microsoft.VisualStudio.Modeling.Diagrams.PointD
在关系图上的点,相对于父形状。
- hitTestInfo
类型:Microsoft.VisualStudio.Modeling.Diagrams.DiagramHitTestInfo
将接受命中测试结果的对象,显示哪个子形状或字段被命中。
- includeTolerance
类型:System.Boolean
在使用命中测试时要使用的形状包括边框区域周围的接受执行,则为 true;否则为 false。
返回值
类型:System.Boolean
如果命中该形状,则为 true,否则,为 false。
备注
如果方法返回 true,hitTestInfo 指示实际上被命中,可能是形状的子 DiagramItem。
而不是调用此直接从命令,请考虑重写 OnClick() 或 OnDoubleClick(),HitTestInfo 在事件参数中。
示例
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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。