我不知道该如何实现类似tom那样的界面.我直接把它的棋盘做成图片放在picturebox里,然后想mousedown的时候判断交叉点的坐标再把棋子画上去,类似这样: private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
xzuo = e.X; 
yzuo = e.Y; if (e.Button == MouseButtons.Left )
{


 
// Image img = Image.FromFile(@"C:\Documents and Settings\ywz\桌面\hei.bmp");   
// Graphics g ;
// g.DrawImage(img,xzuo ,yzuo ,12,12);   
                            }   

}问题是Graphics g ;这里应该怎么做老有错误提示.另外不知道这样画会不会把以前的picture覆盖掉?这里应该怎么画,新手诚恳请教...

解决方案 »

  1.   

    把所有的棋子坐标放到一个窗口级的集合型变量中,在PictureBox的Paint事件中,一个一个的按这个集合中的棋子坐标画你的棋子.在MouseDown,中为窗口的那个集合型变量添加一个新棋子的坐标,然后调用你那个Picture控件的Invalidate(你新加棋子的Rectangle或你删除棋子的Rectangle)方法,如果还嫌闪屏,用那种所谓的,.Net2.0才出来的类似内存DC的处理方法.
      

  2.   

    ictureBox的Paint事件中,一个一个的按这个集合中的棋子坐标画你的棋子========================这样会否内存不足?