C#在PictureBox中重复图像

时间:2011-12-29 09:33:27

标签: c# image

我正在使用C#钢琴并遇到问题。

我已经建立了键盘和工作人员,用户按下的每个键都显示在工作人员的各自位置。

我的问题是图像重复超出第一个键(无论是任何键)。例如,如果我第二次按下一个键,则在该按键上的工作人员上会显示两个图像。如果我按第五个键(无论是任何键),工作人员都会显示五个图像。

我该如何解决这个问题?我只想在每个键上显示一个图像。感谢。

修改

我已经解决了这个问题。谢谢:))

2 个答案:

答案 0 :(得分:0)

从代码中可以看出,每次按键都会向面板3添加一个图像/图片框,这将最终消耗所有资源。建议你先检查一张图片是否已经存在,如果有,不再进一步添加图片盒,而是将它们带到前面或切换它们的可见性。

顺便说一句:如果你想为按键效果设置动画,使用图像的效率要低得多,你可以考虑使用OpenGL或DirectX。

答案 1 :(得分:0)

如果image.name是唯一的

,也可以这样做
picBox[cnt].Image = image.Name;
if(!panel3.Controls.Find(image.Name)!=null){ //add contol to panel}