vb.net中,如何实现鼠标在listbox控件上移动时,鼠标所到的条目背景变黑、字变白;移开后还原?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net中,如何实现鼠标在listbox控件上移动时,鼠标所到的条目背景变黑、字变白;移开后还原?相关的知识,希望对你有一定的参考价值。

我知道鼠标单击ListBox中的条目后可以通过ListBox.SelectedItem得到选中的值,
那么怎样可以让鼠标只是移动到条目上就可以得到值呢?

参考技术A 复杂的不会,来点儿简单的,借用在listbox里按下鼠标时再移动,会高亮显示选择行,并且会随鼠标移动而变化的这一特点改进的,不足之处是在listbox里,此时处于鼠标左键在按下状态。
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = &H2 '模拟鼠标左键按下
Private Sub ListBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles ListBox1.MouseMove
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
End Sub
参考技术B 不能实现,listbox没必要有此功能。
因为listbox被视为一个整体,其每一项背景颜色都根据鼠标移上去而改变。
参考技术C MouseOn、MouseLeave事件 参考技术D 那自带的控件不能实现,百度一下或者自己写一个吧!本回答被提问者采纳

VB.NET Listbox1控件

VB.NET 建立的ListBox1控件

属性

Items        集合

ltems.Count-1        上界

Items.Count        个数

Selectedlndex        当前选定下标

Text        项目内容

Selectedltem        项目内容

代码应用

        使用时可写成 ListBox1.Items(ListBox1.Selectedltem) 或 ListBox1.Text 或 ListBox1.Selectedltem

Sorted属性

        作用:控制列表框或组合框中的选项是否按字符编码值自动排序)

        其默认值为False

        字符编码自动排序时可能会出现排序上的“错位”,例如1到10排序中9和10。10中“1”的字符编码比9的字符编码相比,10排在9的上面。此时排序不符预期可通过Spance函数使数据右对齐。  

1. Items.Add(选项)

        作用:把选项添加到最后

        例如:ListBox1.ltems.Add("选项A”)

2. Items.Insert(Index,选顶)

        作用:把选项插入到由lndex指定的位置,该位置及以后的内容自动依次下移.

        例如:ListBox1.Items.Insert(3,"选项A")

        注意:“lndex”以“0,1,2,3......”为范围.

3. Items.RemoveAt (Index)

        作用:删除由Index指定位置的选项。

        例如:ListBox1.Items.RemoveAT(4)

4. Items.Remove(选项)

        作用:删除指定的选项

        例如:ListBox1.ltems.Remove(“选项A”)

5. Items.Clear

        作用:用于清除列表框或组合框的有选项

以上是关于vb.net中,如何实现鼠标在listbox控件上移动时,鼠标所到的条目背景变黑、字变白;移开后还原?的主要内容,如果未能解决你的问题,请参考以下文章

vb.net读取txt文件,按照要求排序其中数据后显示在listbox控件中。

VB.NET Listbox1控件

VB.NET Listbox1控件

vb.net如何在listbox中增加双击事件?

vb.net 中 怎么实现 当鼠标移动到某控件时 改变鼠标的形状

在VB.net中,如何把listbox中的数值进行排序