我正在开发的应用程序将用于创建数据库中包含的数据图表。现在,图表上的对象是使用“控制面板”进行操作的 - 本质上是对象列表和用于编辑值的 PropertyGrid。用户还希望能够使用鼠标交互与对象进行交互 - 例如捕获图表的一角并拖动以展开/收缩它,单击数字并获取文本框以对其进行编辑,或者右键单击获取可能交互的菜单的东西。 该图表是使用 GDI+ 在图元文件(要求)上绘制的,然后在用户绘制的表单上绘制。
我不太确定如何实现这个。我有几个想法:
- 创建一些覆盖在图表图形上的自定义控件。每个控件都可以与图表上的特定对象或对象的属性相关联,并根据用户与其交互的方式更新这些值。
- 只需跟踪对象所在的位置,当用户使用鼠标执行某些操作时,请浏览列表并找出哪个对象应该位于鼠标位置,然后从那里开始。
我对你们如何实现这一点很感兴趣,并且非常感谢一些建议。谢谢!
最佳答案
后者 - 例如,如果它是饼图,则无论如何您都必须执行大部分 HitTest 工作来处理不规则形状的控件。
关于.net - 如何允许用户通过鼠标与图形对象交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445816/