现在有个16X16的网格图片,放在WinForm的picturebox里面,现在想从文件夹中循环取出一张张小图片放在网格图中的每个网格中,而且小图片是带有坐标的(从配置文件中读取),如:A图放在网格的第一行第一列,,则picturebox中的网格图片上的第一行第一列显示A图。可以实现吗?

解决方案 »

  1.   

    哎,这就是winform不叫恼人的地方,另外可以再panel中去动态的添加picturebox
      

  2.   

    自定义控件,每个格格一个picturebox。
      

  3.   

    如果非要用Picturebox的话,就只能把它当做画布,计算好坐标后,把小图片画上去了。
      

  4.   

    按照坐标for循环绘好图,再给picturebox
      

  5.   

    建立一个和Picturebox一样大小的Bitmap然后创建一个Graphics,把16*16的小图片绘制到这个大图片上,在显示到Picturebox上。 Bitmap bmp = new Bitmap(32, 32);
                using (Graphics graphics = Graphics.FromImage(bmp))
                {
                    //graphics.DrawImage();
                    //...
                    //在这里自己把小图片绘制到大图片上
                }
                this.pictureBox1.Image = bmp;
      

  6.   

    感谢各位,我已经解决了,后来想想其实挺简单的。将UserControl控件的背景换成网格图,因为网格的长宽都是一样的,我前提知道每个方格的长的px,宽的px,如果小图片要放入方格的第五行,第五列,那我先动态创建一个picturebox,然后把小图片放入进去,再设置picturebox的坐标位置,最后将picturebox加入到用户控件中。