我希望添加一个' mapview'对我的项目进行类型控制。 它必须有一张主地图'带有可点击透明矩形的图像,带有边框和图标/图像,可在事件发生时进行动画处理。
在C#中使用Windows窗体实现此目的的最佳方法是什么?
我的第一个想法是在其上面使用带有其他物品的图片框,但我可能会遇到透明度等问题。
是否有任何图书馆或其他任何可以实现此目的的图书馆?
答案 0 :(得分:1)
不需要图书馆,真的:
我会选择常规的 doublebuffered Panel
子类,甚至是PictureBox
子类,用于电路板/地图以及可移动 {{ 1}}或Label
子类fpr矩形/项目。
重要:确保Panel
不仅仅是{最终' Labels
,而是嵌套> STRONG>! (lbl.Parent = pbox)。那么透明度就可以了。
由于PictureBox
不是“容器”,因此嵌套中的控件需要代码。但是,既然你可能想要动态创建它们,这无论如何都不是问题。
这假设矩形不重叠!对于重叠控件,winforms中的透明度将不起作用。
您更清楚地了解“事件时的动画”部分,其余代码将变得更容易..
既然你提到'动画',就会发出警告:简单的动画,特别是对用户动作的反应是可行的;对于更优雅的动画,你可能会遇到winforms的限制。