gpt4 book ai didi

C# 设计器流程图应用程序 - 怎么样?

转载 作者:行者123 更新时间:2023-11-30 14:41:47 24 4
gpt4 key购买 nike

嗨我是 C# WPF 的新手。在 C# 中有一个流程图 WPF 程序。该程序可以显示对象和它们之间的连接箭头。即例如

========           ========
| | | |
| obj1 | ------> | obj2 |
======== ========

1 - 如何在右键单击每个对象时为其添加视觉功能?即,当我用鼠标右键单击一个对象时,我希望能够更改其属于应用程序的属性。

2 - 如何创建和生成包含上述对象关系信息的文件。即obj1流向obj2

感谢分享您的想法

最佳答案

1) 您需要编写在鼠标单击事件中使用的 HitTest 代码。您需要检查每个对象的屏幕位置,以确定单击鼠标时哪个(如果有)对象在指针“下方”。从那里您可以为您想要实现的功能显示适当的上下文菜单。

2) 如果您只是想保存信息以便稍后由应用重新打开,简单序列化为 XML 或二进制就可以了。如果目的是制作用户可读的内容,您将需要编写一个简单的 csv 导出,或者如果输出需要更复杂,则需要一个自定义序列化程序。

更多信息:

点击测试是评估点击了什么对象的通用术语,例如,当您点击 DataGridView 时,点击测试逻辑可以告诉您点击了哪个单元格/行/列。许多 Widget 类,包括 DataGridView,都有一个 HitTest 方法,该方法将返回一个提供此信息的对象。如果流程图工具为连接的对象使用自定义绘图,那么您将必须使用点击坐标来确定点击了流程图中的哪个元素。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.hittest.aspx记录 DataGridView 的 HitTest 方法。

http://www.codeproject.com/KB/list/CSharpHitTest.aspx是 CodeProject 上的示例程序,它确实在 ListView 中 HitTest 逻辑。

关于C# 设计器流程图应用程序 - 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com