-
vb.net教程之VB.NET 中 使用 ListView 控件的简单例子
ListView 控件 在 程序开发过程中的使用是非常广泛的。因为其不支持数据库的绑定,所以在数据库程序开发领域无法与datagridview抗衡 ,但是ListView的确是一个非常好用的控件。下面就把 一个简单的 ListView的例子发出来。Public Class Form6''' <summary>''' 英雄类''' </summary>''' <remarks></remarks>Public Class heroPrivate s_name As StringPrivate s_age As LongPrivate s_like As StringPublic Property myName() As StringGetReturn s_nameEnd GetSet(ByVal value As String)s_name = valueEnd SetEnd PropertyPublic Property myAge() As LongGetReturn s_ageEnd GetSet(ByVal value As Long)s_age = valueEnd SetEnd PropertyPublic Property myLike() As StringGetReturn s_likeEnd GetSet(ByVal value As String)s_like = valueEnd SetEnd PropertyEnd Class''' <summary>''' 公共属性''' </summary>''' <remarks></remarks>Dim arrLike() As String = {"杀人", "放火", "吸毒", "抢劫", "盗窃", "上吊", "自虐", "赌博", "偷窥", "飙车"}Dim heroList As New SortedListDim maxNumber As LongConst firstName As String = "塞北的雪"Dim s_flag As Boolean''' <summary>''' 生成随即爱好''' </summary>''' <param name="i"></param>''' <returns></returns>''' <remarks></remarks>Private Function createLike(ByVal i As Long) As StringDim j As LongDim k As LongDim str As New System.Text.StringBuilderFor j = arrLike.GetLowerBound(0) To arrLike.GetUpperBound(0)Dim rd As New System.Random(Environment.TickCount * (i + 1) * j / 100)k = System.Math.Round(rd.NextDouble * 100, 0)If k Mod 2 = 0 Thenstr.Append(" ")str.Append(arrLike(j))End IfNextReturn str.ToStringEnd Function''' <summary>''' 装载数据''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Clicks_flag = TrueMe.lv1.CheckBoxes = TrueDim i As IntegerConst maxCount As Long = 10Dim iItem As ListViewItemDim aHero As heroFor i = maxNumber To maxNumber + maxCount - 1Dim rd As New System.Random(Environment.TickCount * i)aHero = New heroiItem = New ListViewItemaHero.myName = firstName & i.ToStringaHero.myAge = System.Math.Round(rd.NextDouble * 100, 0)aHero.myLike = createLike(i)iItem.Text = aHero.myNameiItem.Tag = aHeroiItem.SubItems.Add(aHero.myAge)iItem.SubItems.Add(aHero.myLike)Me.lv1.Items.Add(iItem)heroList.Add(aHero.myName, aHero)NextmaxNumber = iIf Me.lv1.Items.Count > 0 ThenMe.lv1.Items.Item(0).Checked = TrueEnd Ifs_flag = FalseEnd Sub''' <summary>''' 选定所有项''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnCheckAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCheckAll.Clicks_flag = TrueIf Me.lv1.Items.Count > 0 ThenDim i As IntegerFor i = 0 To Me.lv1.Items.Count - 1Me.lv1.Items.Item(i).Checked = TrueNextEnd Ifs_flag = FalseEnd Sub''' <summary>''' 查找所有选定项''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnFindCheckted_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFindCheckted.ClickDim sb As New System.Text.StringBuilderIf Me.lv1.Items.Count > 0 ThenDim i As IntegerFor i = 0 To Me.lv1.CheckedItems.Count - 1sb.AppendLine()sb.Append(Me.lv1.CheckedItems.Item(i).Text)NextEnd IfMsgBox(sb.ToString)End Sub''' <summary>''' 删除所有''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnDeleteAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteAll.ClickMe.lv1.Items.Clear()Me.heroList.Clear()maxNumber = 0End Sub''' <summary>''' 添加一项''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnAddOne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddOne.Clicks_flag = TrueDim iItem As New ListViewItemDim aHero As New heroDim rd As New System.Random(Environment.TickCount * maxNumber)aHero.myName = firstName & maxNumber.ToStringaHero.myAge = System.Math.Round(rd.NextDouble * 100, 0)aHero.myLike = createLike(maxNumber)iItem.Text = aHero.myNameiItem.Tag = aHeroiItem.SubItems.Add(aHero.myAge)iItem.SubItems.Add(aHero.myLike)Me.lv1.Items.Add(iItem)heroList.Add(aHero.myName, aHero)s_flag = FalsemaxNumber += 1End SubPrivate Sub Form6_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadMe.lv1.View = View.DetailsMe.lv1.HeaderStyle = ColumnHeaderStyle.ClickableMe.lv1.MultiSelect = TrueMe.lv1.FullRowSelect = TrueMe.lv1.GridLines = TrueMe.lv1.Columns.Add("姓名", 120, HorizontalAlignment.Center)Me.lv1.Columns.Add("年龄", 50, HorizontalAlignment.Right)Me.lv1.Columns.Add("爱好", 300, HorizontalAlignment.Left)Dim iItem As New ListViewItemDim aHero As New heroDim rd As New System.Random(Environment.TickCount)aHero.myName = "塞北的雪"aHero.myAge = System.Math.Round(rd.NextDouble * 100, 0)aHero.myLike = createLike(1)iItem.Text = aHero.myNameiItem.Tag = aHeroiItem.SubItems.Add(aHero.myAge)iItem.SubItems.Add(aHero.myLike)Me.lv1.Items.Add(iItem)heroList.Add(aHero.myName, aHero)Me.lv1.Items.Item(0).Selected = TruemaxNumber = 0s_flag = FalseEnd Sub''' <summary>''' 删除所有选定项''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Private Sub btnDeleteSelected_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteSelected.ClickIf Me.lv1.Items.Count > 0 ThenIf Me.lv1.SelectedItems.Count > 0 ThenDim i As IntegerDim delList As New SortedListFor i = 0 To Me.lv1.SelectedItems.Count - 1heroList.Remove(Me.lv1.SelectedItems.Item(i).Text)' Me.lv1.Items.Remove(Me.lv1.SelectedItems.Item(i))delList.Add(Me.lv1.SelectedItems.Item(i).Text, Me.lv1.SelectedItems.Item(i))NextFor i = 0 To delList.Count - 1Me.lv1.Items.Remove(delList.GetByIndex(i))NextEnd IfEnd IfEnd SubPrivate Sub lv1_ItemCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckEventArgs) Handles lv1.ItemCheckIf Me.lv1.Items.Count > 0 ThenIf s_flag = False ThenIf e.NewValue = CheckState.Checked And e.CurrentValue <> CheckState.Checked ThenMsgBox("你选择了:" & Me.lv1.Items.Item(e.Index).Text)ElseIf e.NewValue = CheckState.Unchecked And e.CurrentValue <> CheckState.Unchecked ThenMsgBox("你取消了:" & Me.lv1.Items.Item(e.Index).Text)End IfEnd IfEnd IfEnd SubPrivate Sub lv1_ItemChecked1(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lv1.ItemCheckedIf Me.lv1.Items.Count > 0 ThenIf s_flag = False ThenIf e.Item.Checked ThenMsgBox("你选择了:" & e.Item.Text)ElseMsgBox("你取消了:" & e.Item.Text)End IfEnd IfEnd IfEnd SubPrivate Sub btnUnCheckAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnCheckAll.Clicks_flag = TrueIf Me.lv1.Items.Count > 0 ThenDim i As IntegerFor i = 0 To Me.lv1.Items.Count - 1Me.lv1.Items.Item(i).Checked = FalseNextEnd Ifs_flag = FalseEnd SubEnd Class程序运行的截图如下:————————————————版权声明:本文为CSDN博主「precipitant」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/precipitant/article/details/1441018
栏目列表
最新更新
如何使用OS模块中的stat方法
Python os 模块
seek() 方法
python打开文件实例1
Python写入文件
什么是流?
文件操作如何进制逐行读取
Python相对路径
with创建临时运行环境
Python文件操作
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
access教程之Access简介
mysql 安装了最新版本8.x版本后的报错:
Mysql空间数据&空间索引(spatial)
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能