使用可点击的矩形和动画图标创建 picturebox/mapview 类型的控件

Creating a picturebox/mapview type control with clickable rectangles and animated icons

我想在我的项目中添加一个 'mapview' 类型的控件。 它必须有一个 'main map' 图像,该图像带有带边框的可点击透明矩形,并且 icons/images 可以在事件发生时进行动画处理。

在 C# 中使用 windows 表单实现此目的的最佳方法是什么?

我的第一个想法是使用一个图片框,上面有其他项目,但我可能 运行 遇到透明度等问题。

是否有任何图书馆或任何东西可以实现这一目标?

不需要图书馆,真的:

我会选择常规的 doublebuffered Panel 子类,甚至是 board/map 的 PictureBox 子类以及 movable LabelPanel 子类 fpr rectangles/items。

重要:确保 Labels 而不仅仅是 PictureBox 的 'put on top'但真的嵌套!! (lbl.Parent = pbox)。然后透明度就可以了..

因为 PictueBox 不是 'container',要在其中 嵌套 控件 您需要代码 。但由于您可能想动态创建它们,所以这无论如何都不是问题。

这假设矩形不重叠!对于 winforms 中的重叠控件透明度将不起作用。

您对 'animate when event' 部分理解得越清楚,剩下的代码就会越容易......

既然你提到了'animation',请注意:简单的动画,尤其是对用户操作的响应是可行的;要获得更优雅的动画,您可以 运行 进入 winforms 的极限。