我正在使用C#钢琴并遇到问题。
我已经建立了键盘和工作人员,用户按下的每个键都显示在工作人员的各自位置。
我的问题是图像重复超出第一个键(无论是任何键)。例如,如果我第二次按下一个键,则在该按键上的工作人员上会显示两个图像。如果我按第五个键(无论是任何键),工作人员都会显示五个图像。
我该如何解决这个问题?我只想在每个键上显示一个图像。感谢。
修改
我已经解决了这个问题。谢谢:))
答案 0 :(得分:0)
从代码中可以看出,每次按键都会向面板3添加一个图像/图片框,这将最终消耗所有资源。建议你先检查一张图片是否已经存在,如果有,不再进一步添加图片盒,而是将它们带到前面或切换它们的可见性。
顺便说一句:如果你想为按键效果设置动画,使用图像的效率要低得多,你可以考虑使用OpenGL或DirectX。
答案 1 :(得分:0)
picBox[cnt].Image = image.Name;
if(!panel3.Controls.Find(image.Name)!=null){ //add contol to panel}