private int currentBlock=0;   //0代表没选择,1,2,3……代表选择的图形框号private void pictureBox_Click(object sender, EventArgs e)
        {
            PictureBox send = (PictureBox)sender;这个是什么?
            currentBlock = int.Parse(send.Name.Substring(send.Name.Length-1,1));不懂
            pic_preView.Refresh();pic_preView这个是什么?Refresh自带的吗?            pic_preView.BackColor = gameFieldBgC;
            Application.DoEvents();这个又是什么?
            someBlock = new Block(new Point(45, 40), (Block.BlockTypes)currentBlock);
            someBlock.Draw(pic_preView.Handle);这句是什么?            p_foreColor.BackColor = GameField.BlockForeColor[currentBlock-1];
            p_backColor.BackColor = GameField.BlockBackColor[currentBlock-1];
        }
希望各位说说意思。要通俗易懂

解决方案 »

  1.   

     PictureBox send = (PictureBox)sender;//sender就是pictureBox只是类型为object
      currentBlock = int.Parse(send.Name.Substring(send.Name.Length-1,1));//取picturebox的name的最后一个字符并转换成int型
      pic_preView.Refresh();//强制控件使其工作区无效并立即重绘自己和任何子控件。
    自带的
    pic_preView.BackColor = gameFieldBgC;
      Application.DoEvents();//是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象
      someBlock = new Block(new Point(45, 40), (Block.BlockTypes)currentBlock);
      someBlock.Draw(pic_preView.Handle);//应该是为picturebox重合