vb神童教程第二章第九节综合事例三.doc_第1页
vb神童教程第二章第九节综合事例三.doc_第2页
vb神童教程第二章第九节综合事例三.doc_第3页
vb神童教程第二章第九节综合事例三.doc_第4页
vb神童教程第二章第九节综合事例三.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

vb神童教程第二章第九节综合示例三文章来源:赛迪 作者:小雷前面我们学了列表框控件(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.ListIndexEnd Sub 3、全部向右按钮的点击事件(CmdAllRight_Click)Private Sub CmdAllRight_Click()LstRight.AddItem 刘德华LstRight.AddItem 张学友LstRight.AddItem 郭富城LstRight.AddItem 黎明LstRight.AddItem 谭咏麟LstRight.AddItem 梅艳芳LstRight.AddItem 张曼玉LstLeft.ClearEnd Sub 4、向左按钮的点击事件(CmdLeft_Click)Private Sub CmdLeft_Click()LstLeft.AddItem LstRight.List(LstRight.ListIndex)LstRight.RemoveItem LstRight.ListIndexEnd Sub 5、全部向左按钮的点击事件:(CmdAllLeft_Click)Private Sub CmdAllLeft_Click()LstLeft.AddItem 刘德华LstLeft.AddItem 张学友LstLeft.AddItem 郭富城LstLeft.AddItem 黎明LstLeft.AddItem 谭咏麟LstLeft.AddItem 梅艳芳LstLeft.AddItem 张曼玉LstRight.ClearEnd Sub 五、注意事项:1、窗体载入事件:就是窗体打开时自动加载的信息,也可以在界面设置时通过左列表框的 List 属性设定。如图二: 图二 2、无论是部分转移,还是全部移动,都要记着将本已移动的表项在原有列表框中清除,如代码: LstLeft.RemoveItem LstLeft.ListIndex 如果不清除,那么表项移动后,原先的表项还在原处,用户可能对同一表项多次选择。如图三 图三 3、第一个应用程序还没编写完,仔细看一下,哪里还需要再编写?没错,就是向左按钮与向右按钮的点击事件还没完善,按照上面的程序,如果在初始状态下(也就是没有选中任何表项),点击向左或向右按钮会产生程序错误。 所以我们得在原来向左或向右按钮的事件中增加判断过程,修改后的代码如下: 向右按钮:Private Sub CmdRight_Click()If LstLeft.SelCount 0 ThenLstRight.AddItem LstLeft.List(LstLeft.ListIndex)LstLeft.RemoveItem LstLeft.ListIndexEnd IfEnd Sub 向左按钮:Private Sub CmdLeft_Click()If LstRight.SelCount 0 ThenLstLeft.AddItem LstRight.List(LstRight.ListIndex)LstRight.RemoveItem LstRight.ListIndexEnd IfEnd Sub 看见了吧,向左与向右按钮还得增加列表框中是否有表项被选中的判断。 4、大家先移动左列表框中的一个项目到右列表框中,然后再全部移过去,你又会发现什么样的问题呢? 这时,你会发现右列表框的项目多了一项,而这多出来的表项正是最先移过去的那个项目,那么,全部移动的按钮还需要加以完善。如图四: 图四 解决办法很简单,在全部移动时,先清除目标列表框的内容再进行移动,修改后的代码如下:全部向右按钮:Private Sub CmdAllRight_Click()LstRight.ClearLstRight.AddItem 刘德华LstRight.AddItem 张学友LstRight.AddItem 郭富城LstRight.AddItem 黎明LstRight.AddItem 谭咏麟LstRight.AddItem 梅艳芳LstRight.AddItem 张曼玉LstLeft.ClearEnd Sub 全部向左按钮:Private Sub CmdAllLeft_Click()LstLeft.ClearLstLeft.AddItem 刘德华LstLeft.AddItem 张学友LstLeft.AddItem 郭富城LstLeft.AddItem 黎明LstLeft.AddItem 谭咏麟LstLeft.AddItem 梅艳芳LstLeft.AddItem 张曼玉LstRight.Clea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论