1 Star 0 Fork 64

凌空飞逝 / DotNet_WinForm_NodeEditor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

STNodeEditor

VS2010 .NET35 NuGet license

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

Environment: VS2010(.NET 3.5)

STNodeEditor STNodeEditor

项目主页 (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

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

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

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

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

STNodeHub

STNodeHub

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

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

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

STNodeTreeView

STNodeTreeView

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

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

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

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

STNodePropertyGrid

STNodePropertyGrid

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

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

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

STNodeEditorPannel

STNodeEditorPannel

STNodeEditorPannelSTNodeEditor STNodeTreeView STNodePropertyGrid的一套组合控件

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

关于作者

MIT License Copyright (c) 2021 DebugST@crystal_lz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一款基于.Net WinForm的节点编辑器 纯GDI+绘制 使用方式非常简洁 提供了丰富的属性以及事件 可以非常方便的完成节点之间数据的交互及通知 大量的重载函数供开发者使用具有很高的自由性 展开 收起
C#
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/liuzhga/DotNet_WinForm_NodeEditor.git
git@gitee.com:liuzhga/DotNet_WinForm_NodeEditor.git
liuzhga
DotNet_WinForm_NodeEditor
DotNet_WinForm_NodeEditor
main

搜索帮助