首页 | 互联网 | IT动态 | 网络设备 | 服务器 | IDC | 安全 | Cisco | Windows | Linux | Java | .Net | Oracle | CIW | 华为 | 专题
IT技术 | 网页设计 | 平面设计 | 电子书下载 | 教学视频 | 方案 | 数字网校 | 直播室 | 虚拟考场 | 面授培训 | 搜索 | 博客 | 沙龙 | 论坛
首页 | JAVA | C# | VB | VB.NET | C/C++ | delphi | 工程管理 | 其他语言 | 论坛
免费注册一站通帐号,参与直播、论坛、下载、博客、网摘、评论,展现我的风采!
您现在的位置: 中国IT实验室 >> 桌面开发 >> VB.net >> 文章正文
VB.NET中使用ListView控件的简单例子
来源:中国IT实验室整理  时间:2007-4-7

  ListView控件在程序开发过程中的使用是非常广泛的。因为其不支持数据库的绑定,所以在数据库程序开发领域无法与datagridview抗衡,但是ListView的确是一个非常好用的控件。下面就把一个简单的ListView的例子发出来。
 

Public Class Form6Class Form6

'''

''' 英雄类

'''

'''

Public Class heroClass hero

Private s_name As String

Private s_age As Long

Private s_like As String

Public Property myName()Property myName() As String

Get

Return s_name

End Get

Set(ByVal value As String)

s_name = value

End Set

End Property

Public Property myAge()Property myAge() As Long

Get

Return s_age

End Get

Set(ByVal value As Long)

s_age = value

End Set

End Property

Public Property myLike()Property myLike() As String

Get

Return s_like

End Get

Set(ByVal value As String)

s_like = value

End Set

End Property

End Class

'''

''' 公共属性

'''

'''

Dim arrLike() As String = {"杀人", "放火", "吸毒", "抢劫", "盗窃", "上吊",

"自虐", "赌博", "偷窥", "飙车"}

Dim heroList As New SortedList

Dim maxNumber As Long

Const firstName As String = "塞北的雪"

Dim s_flag As Boolean

'''

''' 生成随即爱好

'''

'''

'''

'''

Private Function createLike()Function createLike(ByVal i As Long) As

String

Dim j As Long

Dim k As Long

Dim str As New System.Text.StringBuilder

For 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 Then

str.Append(" ")

str.Append(arrLike(j))

End If

Next

Return str.ToString

End Function

'''

'''  装载数据

'''

'''

'''

'''

Private Sub btnLoad_Click()Sub btnLoad_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click

s_flag = True

Me.lv1.CheckBoxes = True

Dim i As Integer

Const maxCount As Long = 10

Dim iItem As ListViewItem

Dim aHero As hero

For i = maxNumber To maxNumber + maxCount - 1

Dim rd As New System.Random(Environment.TickCount * i)

aHero = New hero

iItem = New ListViewItem

aHero.myName = firstName & i.ToString

aHero.myAge = System.Math.Round(rd.NextDouble * 100, 0)

aHero.myLike = createLike(i)

iItem.Text = aHero.myName

iItem.Tag = aHero

iItem.SubItems.Add(aHero.myAge)

iItem.SubItems.Add(aHero.myLike)

Me.lv1.Items.Add(iItem)

heroList.Add(aHero.myName, aHero)

Next

maxNumber = i

If Me.lv1.Items.Count > 0 Then

Me.lv1.Items.Item(0).Checked = True

End If

s_flag = False

End Sub

'''

''' 选定所有项

'''

'''

'''

'''

Private Sub btnCheckAll_Click()Sub btnCheckAll_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnCheckAll.Click

s_flag = True

If Me.lv1.Items.Count > 0 Then

Dim i As Integer

For i = 0 To Me.lv1.Items.Count - 1

Me.lv1.Items.Item(i).Checked = True

Next

End If

s_flag = False

End Sub

'''

''' 查找所有选定项

'''

'''

'''

'''

Private Sub btnFindCheckted_Click()Sub btnFindCheckted_Click(ByVal sender

As System.Object, ByVal e As System.EventArgs) Handles btnFindCheckted.Click

Dim sb As New System.Text.StringBuilder

If Me.lv1.Items.Count > 0 Then

Dim i As Integer

For i = 0 To Me.lv1.CheckedItems.Count - 1

sb.AppendLine()

sb.Append(Me.lv1.CheckedItems.Item(i).Text)

Next

End If

MsgBox(sb.ToString)

End Sub

'''

''' 删除所有

'''

'''

'''

'''

Private Sub btnDeleteAll_Click()Sub btnDeleteAll_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnDeleteAll.Click

Me.lv1.Items.Clear()

Me.heroList.Clear()

maxNumber = 0

End Sub

'''

'''  添加一项

'''

'''

'''

'''

Private Sub btnAddOne_Click()Sub btnAddOne_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnAddOne.Click

s_flag = True

Dim iItem As New ListViewItem

Dim aHero As New hero

Dim rd As New System.Random(Environment.TickCount * maxNumber)

aHero.myName = firstName & maxNumber.ToString

aHero.myAge = System.Math.Round(rd.NextDouble * 100, 0)

aHero.myLike = createLike(maxNumber)

iItem.Text = aHero.myName

iItem.Tag = aHero

iItem.SubItems.Add(aHero.myAge)

iItem.SubItems.Add(aHero.myLike)

Me.lv1.Items.Add(iItem)

heroList.Add(aHero.myName, aHero)

s_flag = False

maxNumber += 1

End Sub

Private Sub Form6_Load()Sub Form6_Load(ByVal sender As Object, ByVal e As

System.EventArgs) Handles Me.Load

Me.lv1.View = View.Details

Me.lv1.HeaderStyle = ColumnHeaderStyle.Clickable

Me.lv1.MultiSelect = True

Me.lv1.FullRowSelect = True

Me.lv1.GridLines = True

Me.lv1.Columns.Add("姓名", 120, HorizontalAlignment.Center)

Me.lv1.Columns.Add("年龄", 50, HorizontalAlignment.Right)

Me.lv1.Columns.Add("爱好", 300, HorizontalAlignment.Left)

Dim iItem As New ListViewItem

Dim aHero As New hero

Dim 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.myName

iItem.Tag = aHero

iItem.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 = True

maxNumber = 0

s_flag = False

End Sub

'''

''' 删除所有选定项

'''

'''

'''

'''

Private Sub btnDeleteSelected_Click()Sub btnDeleteSelected_Click(ByVal

sender As System.Object, ByVal e As System.EventArgs) Handles

btnDeleteSelected.Click

If Me.lv1.Items.Count > 0 Then

If Me.lv1.SelectedItems.Count > 0 Then

Dim i As Integer

Dim delList As New SortedList

For i = 0 To Me.lv1.SelectedItems.Count - 1

heroList.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))

Next

For i = 0 To delList.Count - 1

Me.lv1.Items.Remove(delList.GetByIndex(i))

Next

End If

End If

End Sub

Private Sub lv1_ItemCheck()Sub lv1_ItemCheck(ByVal sender As Object, ByVal

e As System.Windows.Forms.ItemCheckEventArgs) Handles lv1.ItemCheck

If Me.lv1.Items.Count > 0 Then

If s_flag = False Then

If e.NewValue = CheckState.Checked And e.CurrentValue <>

CheckState.Checked Then

MsgBox("你选择了:" & Me.lv1.Items.Item(e.Index).Text)

ElseIf e.NewValue = CheckState.Unchecked And e.CurrentValue <>

CheckState.Unchecked Then

MsgBox("你取消了:" & Me.lv1.Items.Item(e.Index).Text)

End If

End If

End If

End Sub

Private Sub lv1_ItemChecked1()Sub lv1_ItemChecked1(ByVal sender As Object,

ByVal e As System.Windows.Forms.ItemCheckedEventArgs) Handles lv1.ItemChecked

If Me.lv1.Items.Count > 0 Then

If s_flag = False Then

If e.Item.Checked Then

MsgBox("你选择了:" & e.Item.Text)

Else

MsgBox("你取消了:" & e.Item.Text)

End If

End If

End If

End Sub

Private Sub btnUnCheckAll_Click()Sub btnUnCheckAll_Click(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles btnUnCheckAll.Click

s_flag = True

If Me.lv1.Items.Count > 0 Then

Dim i As Integer

For i = 0 To Me.lv1.Items.Count - 1

Me.lv1.Items.Item(i).Checked = False

Next

End If

s_flag = False

End Sub

End Class

程序运行的截图如下:

【责编:Lili】

中国IT教育热线咨询

相关文章
VB.NET中的多窗体编程:升级到 .NET
解析VB的事件驱动编程
编写快速高效的VB程序
VB中运用反射原理优化程序代码
VB中数据集合对象的应用
递归过程在VB中的应用实例
VB/VB.NET/C#导出到Excel的方法
关于Visual Basic 9.0的动态标识符
推荐文章
· 用C#创建COM对象
· IT管理十大失误及其对策
· VC中利用MFC设计绘图程序初步
· JAVA中对象创建和初始化过程
· C语言中的位域的使用
· 浅谈Java桌面应用程序开发
· C#的前途如何?
· 几种VC++数据库开发技术的相对比较
 精彩友情推荐
·锐捷交换机报价
·锐捷交换机
·锐捷网络网络交换机
·smc交换机
·smc交换机报价
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
最新更新 推荐文章
·Visual Basic 9.0隐式类型的局部…09-30
·JMX+J2SE5.0实现Web应用的安全管…09-30
·多线程、Socket技术及委托技术的…09-21
·Visual C#多线程参数传递浅析09-21
·浅谈Java中利用JCOM实现仿Excel编…09-21
·基于Java的界面布局DSL的设计与实…09-21
·Java开发中的事件驱动模型实例详…09-21
·并发工程原则应用到软件项目中09-06
·Delphi初学者应小心的六大陷阱09-06
·VC开发多语言界面支持的简单方法09-06
·用C#创建COM对象09-06
·用C#创建COM对象09-06
·IT管理十大失误及其对策08-30
·VC中利用MFC设计绘图程序初步08-23
·JAVA中对象创建和初始化过程08-23
·C语言中的位域的使用08-09
·浅谈Java桌面应用程序开发08-09
·C#的前途如何?08-02
·几种VC++数据库开发技术的相对比较07-12
·用Visual C#实现网络封包监视07-12
·VB.NET中的TextBox控件详解07-12
·VB.NET实现PC与掌上电脑PPC的双向通信07-05
  培训中心