换成listview可以修改背景色的 将listview的view设为report 界面上放一个PictureBox命名为picBg Private Sub Form_Load() picBg.BackColor = Lv.BackColor picBg.ScaleMode = vbTwips picBg.BorderStyle = vbBSNone picBg.AutoRedraw = True End Sub '修改listview背景色的函数 Private Sub MakeLVColor() Dim I As Integer picBg.Width = Lv.Width picBg.Height = Lv.ListItems(1).Height * (Lv.ListItems.Count) picBg.ScaleHeight = Lv.ListItems.Count picBg.ScaleWidth = 1 picBg.DrawWidth = 1 picBg.Cls For I = 1 To Lv.ListItems.Count Select Case I Mod 2 Case 0 picBg.Line (0, I - 1)-(1, I), &H80000005, BF Case 1 picBg.Line (0, I - 1)-(1, I), &HE0E0E0, BF End Select Next Lv.Picture = picBg.Image End SubPrivate Sub Command1_Click() MakeLVColor End Sub
listview的view设为report
col1的宽设为listview的
用mshflexgrid,設置1列,每個格子都可以設置背景的。
将listview的view设为report
界面上放一个PictureBox命名为picBg
Private Sub Form_Load()
picBg.BackColor = Lv.BackColor
picBg.ScaleMode = vbTwips
picBg.BorderStyle = vbBSNone
picBg.AutoRedraw = True
End Sub
'修改listview背景色的函数
Private Sub MakeLVColor()
Dim I As Integer
picBg.Width = Lv.Width
picBg.Height = Lv.ListItems(1).Height * (Lv.ListItems.Count)
picBg.ScaleHeight = Lv.ListItems.Count
picBg.ScaleWidth = 1
picBg.DrawWidth = 1
picBg.Cls
For I = 1 To Lv.ListItems.Count
Select Case I Mod 2
Case 0
picBg.Line (0, I - 1)-(1, I), &H80000005, BF
Case 1
picBg.Line (0, I - 1)-(1, I), &HE0E0E0, BF
End Select Next
Lv.Picture = picBg.Image
End SubPrivate Sub Command1_Click()
MakeLVColor
End Sub