您的位置:学习中国 推荐教程 VB编程 正文
原作者:admin 添加时间:2007-05-20 原文发表:2007-05-20 人气:24

本文章共2174字,分2页,当前第1页,快速翻页:
 

面我们学了列表框控件(ListBox)与组合框控件(ComboBox),本节将就它们制作一个简单的应用程序。

一、程序界面:界面如图一


 

 

 

 

 


图一

二、程序目的:
两个列表框,左列表框(LstLeft)罗列了一些歌手名字,右列表框(LstRight)初始状态为空;点击向右按钮(CmdRight),可以将左列表框中的指定选项移动到右边列表框;点击全部向右按钮(CmdAllRight),可以将左列表框中所有的内容搬到右列表框中;点击向左按钮(CmdLeft),可以将右列表框中选定的表项移动到左列表框中;点击全部向左按钮(CmdAllLeft),可以将右列表框中的所有内容移动到左列表框中。

三、属性设置:
见图一,注意,列表框的 Style 都为 0 即标准类型。

四、程序代码:
1、窗体的载入事件(Form_Load)
Private Sub Form_Load()
 LstLeft.AddItem "刘德华"
 LstLeft.AddItem "张学友"
 LstLeft.AddItem "郭富城"
 LstLeft.AddItem "黎 明"
 LstLeft.AddItem "谭咏麟"
 LstLeft.AddItem "梅艳芳"
 LstLeft.AddItem "张曼玉"
End Sub

2、向右按钮的点击事件(CmdRight_Click)
Private Sub CmdRight_Click()
 LstRight.AddItem LstLeft.List(LstLeft.ListIndex)
 LstLeft.RemoveItem LstLeft.ListIndex
End Sub

3、全部向右按钮的点击事件(CmdAllRight_Click)
Private Sub CmdAllRight_Click()
 LstRight.AddItem "刘德华"
 LstRight.AddItem "张学友"
 LstRight.AddItem "郭富城"
 LstRight.AddItem "黎 明"
 LstRight.AddItem "谭咏麟"
 LstRight.AddItem "梅艳芳"
 LstRight.AddItem "张曼玉"
 LstLeft.Clear
End Sub

4、向左按钮的点击事件(CmdLeft_Click)
Private Sub CmdLeft_Click()
 LstLeft.AddItem LstRight.List(LstRight.ListIndex)
 LstRight.RemoveItem LstRight.ListIndex
End Sub

5、全部向左按钮的点击事件:(CmdAllLeft_Click)
Private Sub CmdAllLeft_Click()
LstLeft.AddItem "刘德华"
LstLeft.AddItem "张学友"
LstLeft.AddItem "郭富城"
LstLeft.AddItem "黎 明"
LstLeft.AddItem "谭咏麟"
LstLeft.AddItem "梅艳芳"
LstLeft.AddItem "张曼玉"
LstRight.Clear
End Sub

五、注意事项:
1、窗体载入事件:
就是窗体打开时自动加载的信息,也可以在界面设置时通过左列表框的 List 属性设定。如图二:


图二

2、无论是部分转移,还是全部移动,都要记着将本已移动的表项在原有列表框中清除,如代码: LstLeft.RemoveItem LstLeft.ListIndex

如果不清除,那么表项移动后,原先的表项还在原处,用户可能对同一表项多次选择。如图三


图三

3、第一个应用程序还没编写完,仔细看一下,哪里还需要再编写?

没错,就是向左按钮与向右按钮的点击事件还没完善,按照上面的程序,如果在初始状态下(也就是没有选中任何表项),点击向左或向右按钮会产生程序错误。

所以我们得在原来向左或向右按钮的事件中增加判断过程,修改后的代码如下:

向右按钮:
Private Sub CmdRight_Click()
If LstLeft.SelCount > 0 Then
LstRight.AddItem LstLeft.List(LstLeft.ListIndex)
LstLeft.RemoveItem LstLeft.ListIndex
End If
End Sub

向左按钮:
Private Sub CmdLeft_Click()
If LstRight.SelCount > 0 Then
LstLeft.AddItem LstRight.List(LstRight.ListIndex)
LstRight.RemoveItem LstRight.ListIndex
End If
End Sub

看见了吧,向左与向右按钮还得增加列表框中是否有表项被选中的判断。
 

本文章更多内容1 - 2 - 下一页>>
本页地址
相关文章

VB 神童教程第二章第八节——组合框控件
VB 神童教程第二章第七节——列表框控件
VB 神童教程第二章第六节——综合示例二
VB 神童教程第二章第五节——单选与复选控件
VB 神童教程第二章第四节-CommandButton控件
VB 神童教程第二章第三节——综合示例一
VB 神童教程第二章第三节——综合示例一
VB教程 第二章:控件学习
VB教程第一章 我第一个VB程序 跟我学VB教程
在VB中使用水晶报表的一种简易编程方法
VB.Net编程入门之Hello World 入门篇
VB.NET中对象的克隆
解析Visual Basic.NET事件编程
在VB.NET中获得功能加强的分类和查询数组
vb.net例程集锦
向SQL Server数据库添加图片和文字
多个窗体之间如何互相调用
如何拖动没有边框的窗体?
怎么让窗体透明后,控件不透明?
Video/ Audio压缩数据流播放技术

相关评论


本文章所属分类:首页 推荐教程 VB编程   VB编程