VB ListView 隔行背景

Private Sub SetListViewColor(Lv As ListView, pic As PictureBox, LvCount As Long)
   Dim i As Integer

   pic.BackColor = Lv.BackColor

   Lv.Parent.ScaleMode = vbTwips

    pic.ScaleMode = vbTwips

    pic.BorderStyle = vbBSNone

    pic.AutoRedraw = True

    pic.Visible = False

    pic.Width = Screen.Width   '因为我的LISTVIEW会自动调整大小的,所以直接用屏幕的宽度

    pic.Height = Lv.ListItems(1).Height * LvCount '取得要添充的高度

    pic.ScaleHeight = LvCount

    pic.ScaleWidth = 1

    pic.DrawWidth = 1
    '-----------------------------

    '画出每行LISTVIEW的颜色

    '------------------------------

    For i = 1 To LvCount
       
        If i / 2 = Int(i / 2) Then

                        
            pic.Line (0, i - 1)-(1, i), &HC0FFFF, BF


        Else
            pic.Line (0, i - 1)-(1, i), 16777152, BF

        End If

    Next

    Lv.Picture = pic.Image
    
End Sub


Private Sub SetListViewColor(Lv As ListView, pic As PictureBox)

    Dim h               As Single
    Dim sw              As Single
    Dim oAltBackColor   As OLE_COLOR
    
    oAltBackColor = pic.BackColor
    
    With Lv
        If .View = lvwReport Then
            If .ListItems.Count Then
                .PictureAlignment = lvwTile
                h = .ListItems(1).Height
                With pic
                    .Visible = False
                    .BackColor = Lv.BackColor
                    .BorderStyle = 0
                    .Height = h * 2
                    .Width = 10 * Screen.TwipsPerPixelX
                    sw = .ScaleWidth
                    .AutoRedraw = True
                    If StartAtOddRow Then
                        pic.Line (0, 0)-Step(sw, h - Screen.TwipsPerPixelY), oAltBackColor, BF
                    Else
                        pic.Line (0, h)-Step(sw, h), oAltBackColor, BF
                    End If
                    Set Lv.Picture = .Image
                    .AutoRedraw = False
                    .BackColor = oAltBackColor
                End With
                .Refresh
                Exit Sub
            End If
        End If
        Set .Picture = Nothing
    End With
    
End Sub

 

VB中,ListView控件是用于显示和编辑项目列表的常用控件之一。当我们在处理ListView控件时,经常需要响应双击事件以执行特定的操作。以下是在VB中处理ListView的双击事件的方法。 首先,我们要确保我们已经创建了一个ListView控件并将其放置在窗体上。然后,在窗体的代码视图中,找到ListView的DoubleClick事件并将其添到相应的方法中。 可以通过在窗体的代码视图中查找ListView控件的DoubleClick事件来添响应代码。也可以通过在窗体设计器中选择ListView控件并点击属性窗格上的黄色闪电图标来添DoubleClick事件。 双击事件的方法中,我们可以执行我们想要的操作,例如获取选定的项、获取选定项的值、显示消息框等等。 以下是一个示例的双击事件处理方法: Private Sub ListView1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick ' 获取选定的项 Dim selectedItems As ListView.SelectedListViewItemCollection = ListView1.SelectedItems ' 遍历选定的项并执行特定的操作 For Each selectedItem As ListViewItem In selectedItems ' 获取选定项的值 Dim itemValue As String = selectedItem.Text ' 显示消息框 MessageBox.Show("选定项的值为:" & itemValue) Next End Sub 在上述示例中,ListView1_DoubleClick方法会在用户双击ListView的项目时触发。首先,我们获取选定的项并通过遍历来执行操作。在这个示例中,我们获取选定项的文本值,并通过消息框显示出来。 通过这种方式,我们可以处理ListView控件的双击事件,并在双击时执行我们希望的操作。希望这个简单的示例能够帮助你理解如何在VB中处理ListView的双击事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值