'不会慢啊,关键是设置好Redraw重画属性Option ExplicitDim lngOldRow As LongPrivate Sub Form_Load() Dim i As Long
MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5
For i = 1 To MSFlexGrid1.Rows - 1 MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i Next MSFlexGrid1.SelectionMode = flexSelectionByRow End SubPrivate Sub MSFlexGrid1_Click() MSFlexGrid1.Redraw = False Dim i As Long, lngNewRow As Long
lngNewRow = MSFlexGrid1.Row MSFlexGrid1.Row = lngOldRow For i = 1 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i MSFlexGrid1.CellBackColor = vbWhite Next
MSFlexGrid1.Row = lngNewRow For i = 1 To MSFlexGrid1.Cols - 1 MSFlexGrid1.Col = i MSFlexGrid1.CellBackColor = vbRed Next MSFlexGrid1.Redraw = True
lngOldRow = lngNewRow End Sub
Dim i As Integer Dim n As Integer For i = 2 To 4 For n = 1 To Me.msflexgrid1.Rows - 1 Me.msflexgrid1.Col = i Me.msflexgrid1.Row = n Me.msflexgrid1.CellBackColor = &HE0E0E0 Next n Next i Me.msflexgrid1.Col = 8 For i = 1 To Me.msflexgrid1.Rows - 1 Me.msflexgrid1.Row = i Me.msflexgrid1.CellBackColor = &HE0E0E0 Next Me.msflexgrid1.Col = 10 For i = 1 To Me.msflexgrid1.Rows - 1 Me.msflexgrid1.Row = i Me.msflexgrid1.CellBackColor = &HE0E0E0 Next
Dim i As Long
MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i
Next MSFlexGrid1.SelectionMode = flexSelectionByRow
End SubPrivate Sub MSFlexGrid1_Click()
MSFlexGrid1.Redraw = False
Dim i As Long, lngNewRow As Long
lngNewRow = MSFlexGrid1.Row
MSFlexGrid1.Row = lngOldRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbWhite
Next
MSFlexGrid1.Row = lngNewRow
For i = 1 To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = vbRed
Next
MSFlexGrid1.Redraw = True
lngOldRow = lngNewRow
End Sub
Dim n As Integer
For i = 2 To 4
For n = 1 To Me.msflexgrid1.Rows - 1
Me.msflexgrid1.Col = i
Me.msflexgrid1.Row = n
Me.msflexgrid1.CellBackColor = &HE0E0E0
Next n
Next i
Me.msflexgrid1.Col = 8
For i = 1 To Me.msflexgrid1.Rows - 1
Me.msflexgrid1.Row = i
Me.msflexgrid1.CellBackColor = &HE0E0E0
Next
Me.msflexgrid1.Col = 10
For i = 1 To Me.msflexgrid1.Rows - 1
Me.msflexgrid1.Row = i
Me.msflexgrid1.CellBackColor = &HE0E0E0
Next