BackGammon Game

时间:2015-06-20 11:30:36

标签: c# winforms picturebox

我正在尝试使用C#Windows窗体为步步高游戏编写服务器客户端应用程序: 服务器端: 我有一个带有步步高板图像的图片框,我需要在它上面绘制检查器。 到目前为止我写了这个。

private void drawboard()
   {
      int x = 82, y = 64;
      for (int s = 0; s < 6; s++)
      {
          darkstone[s] = new PictureBox();
          this.Controls.Add(darkstone[s]);
          darkstone[s].Location = new Point(x, y);
          darkstone[s].BackColor = Color.Black;
          x += 60;
          darkstone[s].Paint += new PaintEventHandler(stone_Paint);
      }
   }
    private void stone_Paint(object sender, PaintEventArgs e)
   {
       SolidBrush blackbrush = new SolidBrush(Color.Black);
       int x = 32, y = 20;
       for (int i = 0; i < 6; i++)
       {
           e.Graphics.FillEllipse(blackbrush, x, y, 25, 23);
           y += 22;
       }
       SolidBrush whitebrush = new SolidBrush(Color.White);
       int z = 32, w = 350;
       for (int j = 0; j < 6; j++)
       {    
           e.Graphics.FillEllipse(whitebrush, z, w, 25, 23);
           w -= 22;
       }
       blackbrush.Dispose();
       whitebrush.Dispose();
   }

当我的表单加载时,我调用了方法drawboard(),但没有绘制任何检查器。 无论如何,如果我定义了一个picturebox_paint事件,并调用方法stone_paint(),则会在棋盘上绘制检查器。但是这个解决方案并不理想,因为我需要将每个检查器表示为一个pictureBox,就像方法drawboard()一样,用于以后的目的,例如在棋盘上移动检查器。

我的代码出了什么问题?

0 个答案:

没有答案