使用可点击的矩形和动画图标创建 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 Label
或 Panel
子类 fpr rectangles/items。
重要:确保 Labels
是 而不仅仅是 PictureBox
的 'put on top'但真的嵌套!! (lbl.Parent = pbox)。然后透明度就可以了..
因为 PictueBox
不是 'container',要在其中 嵌套 控件 您需要代码 。但由于您可能想动态创建它们,所以这无论如何都不是问题。
这假设矩形不重叠!对于 winforms 中的重叠控件透明度将不起作用。
您对 'animate when event' 部分理解得越清楚,剩下的代码就会越容易......
既然你提到了'animation',请注意:简单的动画,尤其是对用户操作的响应是可行的;要获得更优雅的动画,您可以 运行 进入 winforms 的极限。
我想在我的项目中添加一个 'mapview' 类型的控件。 它必须有一个 'main map' 图像,该图像带有带边框的可点击透明矩形,并且 icons/images 可以在事件发生时进行动画处理。
在 C# 中使用 windows 表单实现此目的的最佳方法是什么?
我的第一个想法是使用一个图片框,上面有其他项目,但我可能 运行 遇到透明度等问题。
是否有任何图书馆或任何东西可以实现这一目标?
不需要图书馆,真的:
我会选择常规的 doublebuffered Panel
子类,甚至是 board/map 的 PictureBox
子类以及 movable Label
或 Panel
子类 fpr rectangles/items。
重要:确保 Labels
是 而不仅仅是 PictureBox
的 'put on top'但真的嵌套!! (lbl.Parent = pbox)。然后透明度就可以了..
因为 PictueBox
不是 'container',要在其中 嵌套 控件 您需要代码 。但由于您可能想动态创建它们,所以这无论如何都不是问题。
这假设矩形不重叠!对于 winforms 中的重叠控件透明度将不起作用。
您对 'animate when event' 部分理解得越清楚,剩下的代码就会越容易......
既然你提到了'animation',请注意:简单的动画,尤其是对用户操作的响应是可行的;要获得更优雅的动画,您可以 运行 进入 winforms 的极限。