FORM A:
一个sstab控件,在每个tab上都有一个mshflexgrid控件,而且把这个控件做成了控件数组。有一个添加按钮,有一个删除按钮。可以分别添加或删除mshflexgrid中的数据。
FORM B:
有一个listview控件,显示用户能够添加的所有数据,有一个确定按钮。点击确定,返回FORM A。然后刷新FORM A ,更新显示的数据。
我给mshflexgrid写了click事件,想在鼠标点击一个单元格的时候整行变色,这个目前已经实现。
问题是的当我把mshflexgrid里的数据全部删除后,在FORM B 上选中数据添加后,数据显示没问题,但点击一个单元格,就不能变色了。如果我没有把mshflexgrid里的数据全部删除,添加后单元格变色是正常的。我跟踪了一下,发现click事件中调用函数的参数有问题。代码如下:Private Sub FlexGrid_Click(Index As Integer)
   Call RowColor(FlexGrid(Index).Row, FlexGrid(Index))   '就是这个FlexGrid(Index).Row传的值不对
End SubPrivate Sub RowColor(cRow As Long, grid As MSHFlexGrid)        
   With grid       'cRow是当前点击的行,lastRow是上次点击的行,为全局变量   
      If cRow <> 0 And cRow <> grid.Rows And cRow <> lastRow Then         
         For i = 1 To .Cols - 1         
            .Row = cRow
            .Col = i
            .CellBackColor = &H8AFDFD            
            If lastRow <> 0 Then
               If lastRow >= .Rows Then
                  .Row = .Rows - 1
               Else
                  .Row = lastRow
               End If               
               .CellBackColor = &HD1FDCC               
            End If         
         Next i         
         lastRow = cRow         
      End If       
   End With   
End Sub不知道为什么会出现这个错误。不管mshflexgrid中的数据有没有全部删除,其执行的代码都是一样的。各位帮忙看看了,不甚感激!