我想程序运行的时候,点哪个picturebox,哪个的图就显示出来,但是如果一开始设置picutebox.visible=false的话,根本就触发不了clikc事件,这个怎么解决??
是这样的,我有很多picturebox放在一个TableLayoutpanel里面,现在想点击它们的代码都写在一个Picture_Click事件里,可以用picturebox p=sender as picturebox来确定点击的是哪个picturebox。假设点了第i个picturebox 就 p.image = MyImage[i](这是存放着资源图片的一个List)。 现在问题是 这个 i 咋得到呢?
点不了的原因我知道的。恩,你说这个方法我试了下。现在问题在于怎么获取坐标后,怎么访问对应的picturebox。我现在有4*4个picturebox,是picturebox1,....16,现在如果鼠标点击了picturebox3的位置,我就得到r=0,c=2,但是picturebox不是一个数组,不然的话我可以picturebox[r*4+c + 1].show();
追答这个简单啊,你可以通过字典集合Dictionary来做,key用来保存你的点击坐标换算成的一个值,value用来保存这个坐标对应的pictruebox,然后就可以 dic[坐标换算的值].Show()了
纯手打,希望能帮到你!
按照你追问的,你可以把每个Pictruebox的Tag用来保存它对应的要显示的图片,然后则可以string imgName=(sender as picturebox).Tag 得到图片的名字,如果你的图片是保存在集合里边,你就可以使用IndexOf来获取该图片名字保存在集合中的索引,最后你就可以这样了 :p.image = MyImage[i]
C# 我初学,很多不知道呢,不过我就知道肯定有办法的! 感谢啦