彩票走势图

MindFusion.Diagramming for WinForms常见问题集锦(十七):NodeCreating事件未触发

翻译|使用教程|编辑:吴园园|2020-04-27 14:36:30.403|阅读 193 次

概述:MindFusion.Diagramming for WinForms是一款能够帮助你轻松创建流程图和示意图的.NET控件。本文整理了用户在使用中遇见的相关问题,希望对您有所帮助。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

MindFusion.Diagramming for WinForms是一个能帮助你创建工作流和进程图表的.NET控件;数据库实体关系图表;组织图表;对象层次和关系图表;图表和树。它是基于对象-图表框,表格和箭头类型,将其归类分派给其他并结合成复杂的结构。该控件提供超过预先定义的50多种图表框,如自定义设计样式和对图表框着色等。

点击下载MindFusion.Diagramming for WinForms最新试用版

Q:我正在使用NodeListView允许用户将ShapeNodes拖到DiagramView上,但是,NodeCreating事件似乎并未触发。

A:这引发了拖放事件,您可以像这样从DragOver处理程序检查节点类型-

void diagramView_DragOver(object sender, DragEventArgs e)
{
	e.Effect = DragDropEffects.Copy;
	var draggedNode = e.Data.GetData(typeof(DraggedNode)) as DraggedNode;
	if (draggedNode != null && draggedNode.Node is TableNode)
		e.Effect = DragDropEffects.None;
} 
Q:是否可以在ContainerNode的标题栏中添加自定义控件?

A:如果您使用派生类,则可以遵循ContainerNode用于显示其折叠图标的相同方法-

class TestWidget : MindFusion.Diagramming.Manipulators.Manipulator
{
	public TestWidget(DiagramItem item, RectangleF bounds)
		: base(item)
	{
		this.bounds = bounds;
	}

	public override bool HitTest(PointF point)
	{
		return bounds.Contains(point);
	}

	public override void Draw(IGraphics graphics)
	{
		graphics.DrawRectangle(Pens.Blue, bounds);
	}

	public override void OnClick(PointF point)
	{
		MessageBox.Show("click");
	}

	public override bool SupportClipping()
	{
		return false;
	}

	public override void AddToRepaintRect(ref RectangleF rect)
	{
	}

	RectangleF bounds;
}

class TestNode: ContainerNode
{
	public TestNode(Diagram diagram)
		: base(diagram)
	{
		AddManipulator(
			new TestWidget(this, new RectangleF(2, 2, 4, 4)));
	}
} 
否则,您可以使用AttachTo方法将一些辅助ControlNode或ShapeNode对象附加到容器,并处理其click事件以对其进行修改。

Q:鼠标悬停在容器标题的一小部分而不是整个容器上时,如何添加工具提示吗?

A:如果point在区域内,请尝试从DiagramNode.GetToolTip(point)覆盖返回,否则返回基本结果。

=====================================================

问答持续更新中>>>

MindFusion.Diagramming for WinForms现已加入在线订购,点击此处查看价格~

想要购买MindFusion.Diagramming for WinForms正版授权的朋友欢迎哦~

MindFusion.Diagramming for WinForms常见问题集锦(十七):NodeCreating事件未触发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP