节点编辑器STNodeEditor快速入门,流程图编程

STNodeEditor

STNodeEditor 是一个轻量且功能强大的节点编辑器 纯GDI实现无任何依赖库仅仅100+Kb 使用方式非常简洁 提供了丰富的属性以及事件可以非常方便的完成节点之间数据的交互及通知 大量的虚函数可供开发者重写具有很高的自由性

Environment: VS2010(.NET 3.5)


项目主页 (Project home): DebugST.github.io/STNodeEditor (简体中文, English)

教程文档: DebugST.github.io/STNodeEditor/doc_cn.html

Tutorials and API: DebugST.github.io/STNodeEditor/doc_en.html

Mail: (2212233137@qq.com)

NuGet: https://www.nuget.org/packages/ST.Library.UI/

复制代码
PM> Install-Package ST.Library.UI -Version 2.0.0

STNodeEditor

STNodeEditor拥有非常强大的功能 支持画布的移动和缩放 可以对节点位置以及连线进行锁定 连线时候会自动检测数据类型是否兼容 以及连线是否重复或者构成环形线路等问题

  • 拖动标题移动节点
  • 右击标题弹出菜单 (需要设置ContextMenuStrip)
  • 拖动连接点进行连线
  • 右击连线断开连接
  • 中键拖动移动画布 (若笔记本触摸板支持 可二指拖动)
  • CTRL+鼠标滚轮 缩放画布

注:节点Body区域进行的操作编辑器不会响应 因为在节点客户区内部的操作将被转换为节点的事件

因为作者将一个节点视为一个Form 而编辑器容器则为Desktop 开发者可以像开发WinForm程序一样去开发一个节点

STNodeHub

STNodeHub是一个内置的节点 其主要作用分线 可以将一个输出分散到多个输入或多个输出集中到一个输入点上以避免重复布线 也可在节点布线复杂时用于绕线

HUB的输入输出默认为object类型 当一个连接被连入时候将会自动更换数据类型并增加新行

注:仅STNodeHub可以修改连接点的数据类型 因为相应字段被internal标记 而作为第三方扩展的STNode中是无法修改已添加连接点的数据类型的

STNodeTreeView

STNodeTreeView可与STNodeEditor结合使用STNodeTreeView中的节点可直接拖拽进STNodeEditor中 并且提供预览和检索功能

STNodeTreeView的使用简单 无需像System.Windows.Forms.TreeView需要自行去构造树

通过使用STNodeAttribute标记继承的STNode可直接设置需要在STNodeTreeView中显示的路径 以及希望在STNodePropertyGrid中显示的信息

注:若希望节点能够在STNodeTreeView中显示 必须使用STNodeAttribute标记STNode子类

STNodePropertyGrid

STNode中的属性被STNodePropertyAttribute标记则会在STNodePropertyGrid中显示 默认情况下支持int,float,double,bool,string,enum以及上述数据类型的Array 若希望显示的属性数据类型不被支持 可以对DescriptorType进行扩展重写 详细请参考DEMO

可以看到在STNodePropertyGrid的面板中可以显示节点的一些信息 作者认为提供给大家的是一套框架 大家可以基于这套框架打造一套自己的框架

而为框架编写节点的Coder应该有权利选择是否留下个人信息

STNodeEditorPannel

STNodeEditorPannelSTNodeEditor STNodeTreeView STNodePropertyGrid的一套组合控件

可以通过拖动手柄控制布局

关于作者

相关推荐
TOSUN同星8 小时前
干货分享 | TSMaster DBC编辑器操作指南:功能详解+实战示例
数据库·oracle·编辑器·汽车·软件工程
LIN-JUN-WEI9 小时前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
Designseek满血版12 小时前
流程图生成新体验,PicDoc 入门篇
流程图
Ronin30515 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
织_网16 小时前
Visual Studio Code 中统一配置文件在团队协作中的应用
ide·vscode·编辑器
雷羿 LexChien1 天前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
不知所云,2 天前
3. lvgl 9.3 vscode 模拟环境搭建 lv_port_pc_vscode-release-v9.3
ide·vscode·编辑器·c·sdl·lvgl vscode·lvgl模拟器
淡漠的蓝精灵2 天前
【2025】Sublime Text 4安装教程保姆级一键安装教程(附安装包)
其他·编辑器·sublime text
yanjiee2 天前
需要scl来指定编译器的clangd+cmake在vscode/cursor开发环境下的配置
ide·vscode·编辑器
shenyan~3 天前
关于 栈帧变化完整流程图(函数嵌套)
流程图