想实现的功能需求:第一个窗口上的按钮,如果我点击按钮就会显示另一个窗口,这个窗口一共有900个小格子。每个小格子代表一个SN,如果我在第一个窗口上刷了一个SN,那么对应的一个小格子会显示绿色。请问如何实现?

解决方案 »

  1.   

    使用绘图语句绘制,或者使用Grid控件。
      

  2.   


    可以具体说明吗?用哪个grid控件?另外,    If UCase(Trim(txtStation.Text)) <> "AGINGOUT" Then
            cmdShowSN.Visible = false
        End If如果不是这个站的,我想按钮不显示,这样写还是会显示?哪里有问题?
      

  3.   

    使用Label不就可以了么,把它当成小方格并排列
      

  4.   

    手动生成一个Label控件数组,只保留一个Label(0),然后可以通过load label(i)来动态创建控件数据
      

  5.   

    或者直接用MSHFlex(不知道是不是这样写)控件
      

  6.   

    就按照我说的办法做!绘制线条用 Line 语句。千万别用控件数组。这种说法相当不负责任。
      

  7.   

    表格控件 MSFlexgrid/MSHFlexgrid ……
      

  8.   

    支持MSHFlexgrid 
    Ctrl+T里面找找
      

  9.   


    用line可以画出N个格子,后续功能怎么解决?因为我要关联数据,如果有数据,相对应的格子要变颜色。不知道怎么弄~~~
      

  10.   

    使用 Rectangle 绘制矩形。
      

  11.   


    专家,可以具体说明吗?对我来说这些说法都太抽象了,搞不定啊~~~
    1. 绘制矩形和line画格子有什么联系?
    2. 数组如何保存?
      

  12.   

    绘制矩形用来给方块上色。(xxx x yyy)数组定义:
    Dim Data(1 To xxx, 1 To yyy) As Boolean
      

  13.   

    我本来做个试验,看能不能出格子,这么写就是不行:Private Sub Form_Load()Dim i As Integer, j As Integer, kd As Integer, cn As Integer
        kd = 20
        Me.ScaleMode = 3
        For i = 0 To 5
         For j = 0 To 7
        '  Me.Line (i * kd + 10, j * kd + 10)-((i + 1) * kd + 10, (j + 1) * kd + 10), &H808080, B
        '  Me.Line (i * kd + 11, j * kd + 11)-((i + 1) * kd + 9, (j + 1) * kd + 9), &HC0C0C0, B
           Line (i * kd + 12, j * kd + 12)-((i + 1) * kd + 8, (j + 1) * kd + 8), &H0, B
        '  Me.Line (i * kd + 13, j * kd + 13)-((i + 1) * kd + 7, (j + 1) * kd + 7), &H0, BF
         Next
        Next
    End Sub
    只有这一个sub和form。也没添加picturebox。怎么回事?如果我添加一个picturebox并且触发它就可以画成功。我需要这个form打开,这些格子就已经画好了。不要触发就能实现的~~
      

  14.   

    最前面加上 Me.AutoRedraw = True
      

  15.   

    listview 背景颜色如何改变?
    网上搜了,没有能直接用API实现的?