private void SetPiece(int colum)
        {
            Point[,] pointArray = new Point[colum, colum];
            for (int i = 0; i < colum; i++)
            {                
                for (int j = 0; j < colum; j++)
                {
                    pointArray[i, j].X = (2 * i + 1) * colum / 2;
                    pointArray[i, j].Y = (2 * j + 1) * colum / 2;
                }
            }
            Image img = new Bitmap("images/black.png");
          
            for (int i = 0; i < colum; i++)
            {
                for (int j = 0; j < colum; j++)
                {
                    PictureBox picBtn = new PictureBox();
                    picBtn.Text = i.ToString() + j.ToString();
                    picBtn.Tag = pointArray[i, j];
                    picBtn.Click += new System.EventHandler(picBtn_Click);
                    picBtn.Location = pointArray[i, j];
                    picBtn.Image = img;
                    this.panelMain.Controls.Add(picBtn);                    
                }
            }
        }代码批量添加picturebox矩阵 colum X colum
这样只显示左上角一个picturebox,成功加载了图片,但是其余都没有
colum=4,用foreach遍历也有16个控件,不知道是重叠了还是什么原因,求解

解决方案 »

  1.   

    哦,谢谢,确实是,写上去的代码和思考的有点偏差,一直没发现,呵呵,那个colum用错了
      

  2.   


    for (int i = 0; i < colum; i++)
                {                
                    for (int j = 0; j < colum; j++)
                    {
                        pointArray[i, j].X = (2 * i + 1) * colum / 2;
                        pointArray[i, j].Y = (2 * j + 1) * colum / 2;
                    }
                }把pointArray[i, j].X = (2 * i + 1) * colum / 2;
                        pointArray[i, j].Y = (2 * j + 1) * colum / 2;
    的cloum改成40之后,怎么也只是一列,不是矩阵的那个效果呢