ShapeElement.GetPotentialMouseAction 方法
当鼠关系图内特定点发生 mouse down 事件时,获取鼠标动作并执行。
命名空间: Microsoft.VisualStudio.Modeling.Diagrams
程序集: Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0(在 Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0.dll 中)
语法
声明
Public Overridable Function GetPotentialMouseAction ( _
mouseButtons As MouseButtons, _
point As PointD, _
hitTestInfo As DiagramHitTestInfo _
) As MouseAction
public virtual MouseAction GetPotentialMouseAction(
MouseButtons mouseButtons,
PointD point,
DiagramHitTestInfo hitTestInfo
)
参数
- mouseButtons
类型:System.Windows.Forms.MouseButtons
可以引起鼠标按下操作的鼠标按钮。
- point
类型:Microsoft.VisualStudio.Modeling.Diagrams.PointD
关系图上的相对于关系图左上角点的点。
- hitTestInfo
类型:Microsoft.VisualStudio.Modeling.Diagrams.DiagramHitTestInfo
命中测试信息。
返回值
类型:Microsoft.VisualStudio.Modeling.Diagrams.MouseAction
用于在关系图中的指定点鼠标按下事件执行的鼠标操作。
示例
public override DslDiagrams::MouseAction GetPotentialMouseAction(System.Windows.Forms.MouseButtons mouseButtons, DslDiagrams.PointD point, DslDiagrams::DiagramHitTestInfo hitTestInfo)
{
DslDiagrams::LinkShape linkShape = hitTestInfo.HitDiagramItem.Shape as DslDiagrams::LinkShape;
DslDiagrams::AnchorPoint anchorPoint = hitTestInfo.HitDiagramItem.AnchorPoint;
DslDiagrams::MouseAction action = null;
if ((linkShape != null) && (hitTestInfo.DiagramClientView.Selection.Count == 1) &&
(anchorPoint != null))
{
action = this.SequenceDiagram.AnchorKeyPointAction;
}
else if ((mouseButtons == MouseButtons.Left || mouseButtons == MouseButtons.None) &&
(linkShape != null) && (hitTestInfo.DiagramClientView.Selection.Count == 1) &&
(hitTestInfo.DiagramClientView.Selection.PrimaryItem.Shape is LinkShape) &&
(hitTestInfo.DiagramClientView.Selection.PrimaryItem.Shape == linkShape) &&
(hitTestInfo.DiagramClientView.Selection.FocusedItem != null) &&
(hitTestInfo.DiagramClientView.Selection.FocusedItem.Shape == linkShape))
{
action = this.SequenceDiagram.AnchorKeyPointAction;
}
else
{
action = base.GetPotentialMouseAction(mouseButtons, point, hitTestInfo);
}
return action;
}
return action;
}
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。