C# 双陆棋游戏

C# 双陆棋游戏,c#,winforms,picturebox,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.Contro

我正在尝试使用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();
   }
private void drawboard()
{
int x=82,y=64;
对于(int s=0;s<6;s++)
{
暗色调[s]=新的PictureBox();
this.Controls.Add(暗色调);
暗石[s]。位置=新点(x,y);
暗色调[s]。背景色=颜色。黑色;
x+=60;
暗石[s].Paint+=新的PaintEventHandler(stone_Paint);
}
}
私人void stone_Paint(对象发送者,PaintEventArgs e)
{
SolidBrush blackbrush=新的SolidBrush(颜色为黑色);
int x=32,y=20;
对于(int i=0;i<6;i++)
{
e、 图形.圆角椭圆(黑线,x,y,25,23);
y+=22;
}
SolidBrush whitebrush=新的SolidBrush(颜色为白色);
int z=32,w=350;
对于(int j=0;j<6;j++)
{    
e、 图形。填充椭圆(白色画笔,z,w,25,23);
w-=22;
}
blackrush.Dispose();
Dispose();
}
当我的表单加载时,我调用了drawboard()方法,但没有绘制任何复选框。 无论如何,如果我定义一个picturebox_paint事件,并调用方法stone_paint(),那么棋盘上就会画出棋盘格。但这个解决方案并不理想,因为我需要将每个检查器表示为pictureBox,如方法drawboard()中所示,以用于以后的目的,例如在整个棋盘上移动检查器


我的代码有什么问题?

您没有指定图片框的大小。它们将保持默认大小,这可能不是您想要的。在黑色背景上绘制黑色棋盘格实际上不可见。每块石头或每块木板都有画框吗?每个棋盘看起来像一个图片框,但仍然可以在一个图片框中绘制多个跳棋。为什么?你没有设置Picbox的尺寸。图片框的底色是黑色,你在上面画一个黑色椭圆。它将不可见。w是350,可能在pictureBox边框之外。即使我更改pictureBox颜色,我仍然有相同的问题。“w是350,可能在pictureBox边框之外”350仍然在棋盘大小内。场景是,我的窗体上有一个pictureBox,带有游戏棋盘的图像。我试图在主picturebox上添加小picturebox(使用此代码),每个代表一个检查器。如果无法做到这一点,我可以尝试其他解决方案吗?