问题1: Public Sub CreatTable() .... .... Pic1.Line (2 * 20 + 1, 2 * 20 + 1)-(2 * 20 + 18, 2 * 20 + 18), vbRed, BF Pic1.Picture = Pic1.Image: Pic1.Cls: Text1.object.Text = "" End Sub Private Sub Pic1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) .... .... ix = X \ 20: iy = Y \ 20 If ix = 2 And iy = 2 Then Exit Sub .... .... End Sub 问题2: 不知道你要显示什么数据 CreatTabStr() 就是专门留给你自己发挥用的 00 01 … 0E 0F之类 保持2位数的十六进际数字: dim a as byte, s as string a=15 s=mid(hex(256+a), 2, 2)
用那么多控件不是好办法啊.直接把数据存数组里,然后在窗口中画出相应该的方格就好了. 鼠标点击的时候 (x - x mod 方格宽度 )/方格列数 就可以得出你点的方格是第几列的.同理算出第几行,然后再执行相应动作。 如果数据的结构复杂一点,用自定变量类型 TYPE 来偖存方格的数据 再复杂一点,要跟控件那样有属性方法等,就写成class了.