彩票走势图

流程图控件软件开发:FlowChart.NET如何创建自定义节点(四)

原创|使用教程|编辑:郝浩|2013-06-05 10:24:58.000|阅读 416 次

概述:业务流程图控件FlowChart.NET是一个通用的流程图控件,提供了用于创建或编辑图表的直观的用户交互模型。在前面的文章中已经讲解了一些创建自定义节点类型的步骤,本教程将继续展示在FlowChart.NET如何创建自定义节点类型的步骤。

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

相关链接:

    业务流程图控件FlowChart.NET是一个通用的流程图控件,提供了用于创建或编辑图表的直观的用户交互模型。在前面的文章中已经讲解了一些创建自定义节点类型的步骤,本教程将继续展示在FlowChart.NET如何创建自定义节点类型的步骤。

8、实现自定义类成员的系列化

C#

protected override void SaveTo(
    System.IO.BinaryWriter writer, PersistContext ctx)
{
    base.SaveTo(writer, ctx);

    // Save the label using the standard .NET BinaryWriter
    writer.Write(label);

    // Save the image using the MindFusion.Diagramming built-in image saving code,
    // which stores the contents of shared images only once.
    ctx.SaveImage(icon);
}

protected override void LoadFrom(
    System.IO.BinaryReader reader, PersistContext ctx)
{
    base.LoadFrom(reader, ctx);

    label = reader.ReadString();
    icon = ctx.LoadImage();
} 

Visual Basic

Protected Overrides Sub SaveTo( _
    ByVal writer As System.IO.BinaryWriter, ByVal ctx As PersistContext)

    MyBase.SaveTo(writer, ctx)
    ' Save the label using the standard .NET BinaryWriter
    writer.Write(fLabel)

    ' Save the image using the MindFusion.Diagramming built-in image saving code,
    ' which stores the contents of shared images only once.
    ctx.SaveImage(fIcon)

End Sub

Protected Overrides Sub LoadFrom( _
    ByVal reader As System.IO.BinaryReader, ByVal ctx As PersistContext)

    MyBase.LoadFrom(reader, ctx)

    fLabel = reader.ReadString()
    fIcon = ctx.LoadImage()

End Sub

9、启用交互绘图

要启用IconNode对象的交互绘图,在InitializeComponent调用之后添加下面的代码:

C#

// Let users draw IconNode objects
diagramView.CustomNodeType = typeof(IconNode);
diagramView.Behavior = Behavior.Custom;

 

Visual Basic

Let users draw IconNode objects
diagramView.CustomNodeType = GetType(IconNode)
diagramView.Behavior = Behavior.Custom

如上面一样设置CustomNodeType和Behavior,来当用户在画布上绘制图表时,指定创建IconNode实例。

 10、添加自定义节点单击事件

C#

private void diagram_Clicked(object sender, DiagramEventArgs e)
{
    IconNode iconNode = new IconNode(diagram);
    diagram.Nodes.Add(iconNode);

    iconNode.Move(e.MousePosition.X, e.MousePosition.Y);
}

Visual Basic

Private Sub diagram_Clicked(ByVal sender As Object, ByVal e As DiagramEventArgs) Handles diagram.Clicked

    Dim iconNode As IconNode = New IconNode(diagram)
    diagram.Nodes.Add(iconNode)

    iconNode.Move(e.MousePosition.X, e.MousePosition.Y)

End Sub

标签:

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

文章转载自:慧都控件

为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP