VB.NET ListView 控件失去焦点时仍然高亮显示选择内容

网上很多关于实现这个功能的方法,不是代码太多,就是在VBNET根本实现不了,经实验总结以下内容

1、ListView控件的HideSelection必须为True

2、失去焦点事件要用Validating,而不是Validated

3、代码如下:

'要设置:ListView1.HideSelection=True
Private SelectItem As ListViewItem = Nothing    '记住选择的Item
 
Private Sub ListView1_Validating(sender As Object, e As CancelEventArgs) Handles ListView1.Validating
    '失去焦点时高亮处理
    SelectItem = sender.FocusedItem
    If SelectItem Is Nothing Then Exit Sub
    SelectItem.BackColor = SystemColors.Highlight
    SelectItem.ForeColor = Color.White
End Sub

Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
    '选择改变时恢复原来的Item的颜色
    If SelectItem IsNot Nothing Then
        SelectItem.backcolor = SystemColors.Window
        SelectItem.forecolor = Color.Black
    End If
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值