首页 > 编程语言 >如何在.NET电子表格应用程序中创建流程图

如何在.NET电子表格应用程序中创建流程图

时间:2023-09-19 09:11:06浏览次数:40  
标签:流程图 WinForms 形状 Spread 电子表格 NET

前言

流程图是一种常用的图形化工具,用于展示过程中事件、决策和操作的顺序和关系。它通过使用不同形状的图标和箭头线条,将任务和步骤按照特定的顺序连接起来,以便清晰地表示一个过程的执行流程。

在企业环境中,高管和经理利用流程图来规划业务流程,使他们能够识别瓶颈、优化生产力并增强决策能力……用例列表不胜枚举。然而,一个新的问题出现了,这些流程图由谁来维护?流程图如何共享或协作?使用什么软件来创建它们?

为了解决上述的问题,今天小编就为大家介绍如何在.NET WinForms 应用程序中使用电子表格设计器组件在运行时创建形状操作流程图。

在.NET WinForms 中创建流程图

在.NET WinForms 中创建流程图可分为以下8个步骤:

  1. 设置.NET WinForms 项目
  2. 启用增强形状引擎
  3. 将形状添加到电子表格流程图
  4. 将文本添加到形状
  5. 将形状添加到电子表格流程图
  6. 将样式应用到形状
  7. 分组流程图形状
  8. 在 .NET WinForms 应用程序中保存并显示流程图

1.设置.NET WinForms 项目

打开Visual Studio软件,创建Windows 窗体应用程序并选择.NET6作为框架。

创建项目后,使用 NuGet 管理器安装GrapeCity.Spread.WinForms和GrapeCity.Spread.WinForms.Design。

安装完之后,导航到项目Form1.cs的设计器:

在 VS Designer 中,找到工具箱中的FpSpread和FpSpreadDesigner组件。将FpSpread组件拖放到窗体上,然后对FpSpreadDesigner组件执行相同的操作。接下来,在表单上添加一个按钮。

如果想要在运行时显示 FpSpreadDesigner,在 Forms1.cs 文件的按钮单击事件中调用 Spread Designer API 的 ShowDialog方法即可。

private void button2_Click(object sender, EventArgs e)
 {
  fpSpreadDesigner2.ShowDialog(fpSpread2);
 }

2.启用增强形状引擎

项目设置完之后,必须启用增强形状引擎。默认情况下它不可用。这可以通过代码或设计器来完成。下面是两种启用增强形状引擎的方法:

(1)代码启用

// 启用形状引擎    
 fpSpread2.Features.EnhancedShapeEngine = true;

(2)使用设计器启用

要使用 Designer 的 UI 启用此属性,首先启动 Designer 应用程序。然后,使用 Spread 设计器的右侧面板,从下拉列表中选择Spread,查找Features,展开它,并将EnhancedShapeEngine更改为“True”。

3.将形状添加到电子表格流程图

使用 Spread Designer 的“插入”选项卡,选择“形状”下拉列表。

添加流程图。(添加完之后如下图所示)

4.将文本添加到形状

5.将形状添加到电子表格流程图

将鼠标悬停在连接器箭头的抓柄上,鼠标光标会发生变化。光标发生变化后,单击连接器端点并将其拖动到要连接的第一个形状的边框。然后看到连接点出现在您将连接器拖动到的形状上,显示可以锚定它的位置。选择位置后,您将看到连接点变为绿色,表明线条已连接到形状。

连接完之后的样式:

6.将样式应用到形状

此步骤介绍如何应用样式主题以及如何将自定义样式应用于形状。用户可以使用“形状格式”选项卡的“形状样式”部分自定义形状的背景颜色和轮廓颜色。

对于本例,流程图形状和连接器的样式如下:

7.分组流程图形状

对流程图形状进行分组可确保所有相关元素保持在一起并保持其预期布局,从而降低意外修改的风险。Spread 的设计器支持使用上下文菜单和/或工具栏的“组对象”按钮将形状分组在一起。

操作步骤如下方动图所示:

8.在 .NET WinForms 应用程序中保存并显示流程图

设计完流程图之后,就可以将设计器中的电子表格应用到 WinForms 应用程序了。在 Designer 的工具栏上,导航至“文件”菜单,选择“应用”和“退出”以应用所有更改,然后退出 Spread Designer。用户可以重新打开设计器并对流程图进行更改。

最终还可以将应用程序中创建的 .NET 流程图导出为 Excel (.XLSX) 文件,或使用 Spread Designer 的导入和导出功能导入现有的 Excel 文件流程图。

总结

至此,一个流程图的设置就完成了。如果您想了解更多信息,欢迎访问葡萄城官网了解。

扩展链接:

ChatGPT赋能低代码开发:打造智能应用的双重引擎

窗口函数大揭秘!轻松计算数据累计占比,玩转数据分析的绝佳利器

3D模型+BI分析,打造全新的交互式3D可视化大屏开发方案

标签:流程图,WinForms,形状,Spread,电子表格,NET
From: https://www.cnblogs.com/powertoolsteam/p/17711691.html

相关文章

  • 使用CQRS和Event Sourcing实现高性能.NET应用程序
    摘要本文介绍了如何使用CQRS(命令查询职责分离)和EventSourcing在.NET应用程序中实现高性能和可扩展性。我们将在一个具体的业务场景中应用这些模式,以演示它们如何解决实际问题。引言随着业务的发展和用户需求的增加,我们作为.NET程序员需要考虑如何提高应用程序的性能和可扩展性......
  • 解决Visual Studio 2022中无法编译 .NET Framework 4.5/4.5.1项目(Visual Studio 2022
    最新【一键处理】方法:https://github.com/MrXhh/VSTools/releases1)下载VS2022Net4NotCompileFix2)右键管理员执行3)重启VS https://github.com/MrXhh/VSTools/releases......
  • 记一次nginx.ingress.kubernetes.io/configuration-snippet报错
    记一次nginx.ingress.kubernetes.io/configuration-snippet报错在迁移xxl-job到k8s集群中,报错one or more objects failed to apply, reason: admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: nginx.ingress.kubernetes.io/configu......
  • 深度学习(MobileNetV1)
    整体网络结构如下:最关键的改进是使用了一个叫深度可分离卷积的结构,将原始的3*3卷积升通道的操作分解成了两部分:第一部分是保持通道不变的情况下做3*3卷积。第二部分是使用1*1的卷积做通道提升操作。结果就是能够减少很多的运算量。下面依然是一个猫狗大战的训练程序,并且增加......
  • 【NET 7.0、OpenGL ES】使用Silk.NET渲染MMD,并实时进行物理模拟。
    有关mmd播放器,网上也有许多非常漂亮的实现,如 pmxeditor、saba、blender_mmd_tools等等。。首先我想先介绍下我参考实现的仓库:sselecirPyM/Coocoo3D:ExperimentalMMDrendererusingDX12andDXR.(github.com),这是sselecirPyM大神使用NET6.0和DX12实现的mmd渲染器,支持自定......
  • netty发送socket短连接请求,自定义报文头
    packagecom.chinaums.japi.util;importio.netty.bootstrap.Bootstrap;importio.netty.buffer.ByteBuf;importio.netty.buffer.Unpooled;importio.netty.channel.*;importio.netty.channel.nio.NioEventLoopGroup;importio.netty.channel.socket.SocketChannel;......
  • 【译】.NET 7 中的性能改进(四)
    原文|StephenToub翻译|郑子铭边界检查消除(BoundsCheckElimination)让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当然,这不是魔术;它是由JIT在......
  • 【译】使用 ML.NET 进行机器学习 - 集群完整指南
    原文|NikolaM.Zivkovic翻译|郑子铭在之前的几篇文章中,我们探索了一些基本的机器学习算法。到目前为止,我们介绍了一些简单的回归算法,分类算法。我们使用ML.NET实现和应用这些算法。到目前为止,我们探索了使用监督学习的算法。这意味着我们始终拥有用于训练机器学习模型的输......
  • 快学会这个技能-.NET API拦截技法
    大家好,我是沙漠尽头的狼。本文先抛出以下问题,请在文中寻找答案,可在评论区回答:什么是API拦截?一个方法被很多地方调用,怎么在不修改这个方法源码情况下,记录这个方法调用的前后时间?同2,不修改源码的情况下,怎么对方法的参数进行校正(篡改)?同3,不修改源码的情况下,怎么对方法的返回值进行伪造?......
  • 【译】.NET 7 中的性能改进(一)
    原文|StephenToub翻译|郑子铭一年前,我发布了.NET6中的性能改进,紧接着是.NET5、.NETCore3.0、.NETCore2.1和.NETCore2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评论者引用了虎胆龙威的电影名言,“'当亚历山......