1、扫雷的按钮是画出来的,实际上没有一个按钮。你需要自己设计一个绘制指定像素大小按钮的函数(一个绘制鼓起状态、一个绘制凹下状态、一个绘制点开状态,你需要定义一个数组来记录“按钮”阵列的状态,比如:0=突起、1=凹下、2=点开)
2、MouseMove、MouseUp、MouseDown三个事件带有x和y坐标属性。根据x、y坐标可以计算出鼠标在哪个格子里。假如你的格子是12×12像素的,坐标整除12就是格子的行列坐标。既然可以知道格子的坐标,只要在鼠标按下的状态将鼠标所在坐标的格子绘制成凹下、其他格子绘制成突起、已经点开的不变就可以了。
3、由于扫雷的“按钮”其实是画出来的,所以不存在你说的焦点问题。
4、实际做扫雷我建议你用Paint粘贴小图块来做图。扫雷基本上就那么几种图块:鼓起、凹下、点开;地雷、1-8数字、红旗、问号。学会制作图块“字库”是设计这种小游戏的基本功。粘贴图块还可以使你的扫雷更加漂亮,因为你可以用绘图工具精心绘制这些图块,可以使扫雷更漂亮。
5、扫雷这个游戏是个像素矩阵游戏。首先你应该从像素矩阵角度来实现它的数学模型(以数字阵列的形式使它可以运行),而不是首先设计界面。因为界面只是最后的工作。你看到的图块只是矩阵中这些数据的表达。
如果你想寻求更多的帮助,推荐你去CSDN论坛(www.csdn.net)的VB板块求助。那里不乏有人做过扫雷。
楼上回答很中肯。