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

时间:2017-02-15 13:54:47

标签: c# winforms picturebox windows-forms-designer

我希望添加一个' mapview'对我的项目进行类型控制。 它必须有一张主地图'带有可点击透明矩形的图像,带有边框和图标/图像,可在事件发生时进行动画处理。

在C#中使用Windows窗体实现此目的的最佳方法是什么?

我的第一个想法是在其上面使用带有其他物品的图片框,但我可能会遇到透明度等问题。

是否有任何图书馆或其他任何可以实现此目的的图书馆?

1 个答案:

答案 0 :(得分:1)

不需要图书馆,真的:

我会选择常规的 doublebuffered Panel子类,甚至是PictureBox子类,用于电路板/地图以及可移动 {{ 1}}或Label子类fpr矩形/项目。

重要:确保Panel 不仅仅是{最终' Labels,而是嵌套 STRONG>! (lbl.Parent = pbox)。那么透明度就可以了。

由于PictureBox不是“容器”,因此嵌套中的控件需要代码。但是,既然你可能想要动态创建它们,这无论如何都不是问题。

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

您更清楚地了解“事件时的动画”部分,其余代码将变得更容易..

既然你提到'动画',就会发出警告:简单的动画,特别是对用户动作的反应是可行的;对于更优雅的动画,你可能会遇到winforms的限制。