.net - 如何允许用户通过鼠标与图形对象交互?

标签 .net user-interface graphics charts gdi+

我正在开发的应用程序将用于创建数据库中包含的数据图表。现在,图表上的对象是使用“控制面板”进行操作的 - 本质上是对象列表和用于编辑值的 PropertyGrid。用户还希望能够使用鼠标交互与对象进行交互 - 例如捕获图表的一角并拖动以展开/收缩它,单击数字并获取文本框以对其进行编辑,或者右键单击获取可能交互的菜单的东西。 该图表是使用 GDI+ 在图元文件(要求)上绘制的,然后在用户绘制的表单上绘制。

我不太确定如何实现这个。我有几个想法:

  • 创建一些覆盖在图表图形上的自定义控件。每个控件都可以与图表上的特定对象或对象的属性相关联,并根据用户与其交互的方式更新这些值。
  • 只需跟踪对象所在的位置,当用户使用鼠标执行某些操作时,请浏览列表并找出哪个对象应该位于鼠标位置,然后从那里开始。

我对你们如何实现这一点很感兴趣,并且非常感谢一些建议。谢谢!

最佳答案

后者 - 例如,如果它是饼图,则无论如何您都必须执行大部分 HitTest 工作来处理不规则形状的控件。

关于.net - 如何允许用户通过鼠标与图形对象交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445816/

相关文章:

.NET:如何弃用 WebMethod?

c# - 数据注释验证在 ASP.NET MVC 3 中不起作用

Java标签中gif的问题

java - Netbeans 中 GUI 组件的自定义 Bean 类

java - 我无法在 Java 程序(swing)中的面板/ Canvas /窗口上绘制图形。有任何想法吗?

java - 如何确保我的图像不会在 JFrame 之外绘制?

.net - 为什么 IQueryable.All() 在空集合上返回 true?

java - 为什么我的 GUI 不能正常工作?

r - 在 R 中绘制带有多个参数的函数

c# - 在单个事务中发送多个 SQL 命令