| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • VB利用API函数设定屏幕颜色数

  • VC使用CRT调试功能检测内存泄…

  • VB中资源文件的多种使用技巧

  • 探索VB系列中的事件处理的奥…

  • NHibernate: One-to-Many一对…

  • VB.net中访问存储过程的几种…

  • 关于用VB做更漂亮的窗体的思…

  • 设置VB数据库连接的动态路…

  • 调整 Combo 下拉部分的宽度

  • 改变ListIndex而不发生Click…

  • Q
    您现在的位置: 我是IT人 >> 编程之道 >> VB >> 编程文章正文
    [组图]用Visual Basic做列表框的应用技巧         
    用Visual Basic做列表框的应用技巧
    作者:fyf 文章来源:转载 点击数: 更新时间:2005-2-18
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
    一、程序设计界面:

      用VB做一个列表框向另外的列表框中添加选项并不是一件复杂的事情,在此向各位初学者(包括自己在内^_^)介绍一下如何用列表框的属性和事件来实现这个功能。

      新建一个标准EXE工程,在屏幕上会出现一个空白的窗体,向窗体上添加两个ListBox控件、二个Frame控件、四个CommandButton控件和二个OptionButton控件,添加控件后的窗体如图1所示。



      


      
    图1


      二、控件属性及设置列表:

      


      
    图2


      提示:MultiSelect设置为“2-Extended”就实现用Ctrl键和Shift键来选择列表中的内容。

      三、程序的代码分别如下:

      '1.开始执行程序时,调用程序声明段中的代码:

    Dim flag(100) As Boolean, ff As Boolean
    Dim i, g As Integer

      '2.双击控件Command1,在代码窗口中的光标就会自动的跳转到控件Command1的 

    Command1_Click()事件处,在该事件中添加下列代码:
    Private Sub Command1_Click() '添加…>>
    If ff = True Then
    For i = 0 To List1.ListCount - 1
    If flag(i) = 0 And List1.Selected(i) Then '判断选项的选中状态
    List2.AddItem List1.List(i) '向控件list2添加选项
    flag(i) = 1
    Call mun '调用统计列表个数
    End If
    Next i
    End If
    If ff = False Then
    For i = List1.ListCount - 1 To 0 Step -1
    If List1.Selected(i) Then '判断选项的选中状态
    List2.AddItem List1.List(i) '向控件list2添加内容
    List1.RemoveItem (i)
    Call mun '调用统计列表个数
    End If
    Next i
    End If
    End Sub

      '3.双击Command2控件,并输入如下代码:

    Private Sub Command2_Click() '全部添加
    If ff = True Then
    For i = 0 To List1.ListCount - 1
    If flag(i) = 0 Then
    List2.AddItem List1.List(i) '将已选项追加到list2中
    flag(i) = 1
    Call mun
    End If
    Next i
    End If
    If ff = False Then
    For i = List1.ListCount - 1 To 0 Step -1
    List2.AddItem List1.List(i) '将已选项追加到list2中
    List1.RemoveItem (i) '删除已选项
    Call mun
    Next i
    End If
    End Sub

      '4.双击Command3控件,并输入如下代码:

    Private Sub Command3_Click() '全部删除
    If ff = True Then
    For i = 0 To List2.ListCount - 1
    flag(i) = 0
    Call mun
    Next i
    List2.Clear
    End If
    If ff = False Then
    For i = List2.ListCount - 1 To 0 Step -1
    List1.AddItem List2.List(i)
    List2.RemoveItem (i)
    Call mun
    Next i
    End If
    End Sub

      '5.双击Command4控件,并输入如下代码:
    Private Sub Command4_Click() '删除<<…
    If ff = True Then
    For i = List2.ListCount - 1 To 0 Step -1
    If List2.Selected(i) Then '判断选项的选中状态
    For q = 0 To List1.ListCount - 1
    If List2.List(i) = List1.List(q) Then
    flag(q) = 0 '如与原数据相同则置为可选
    End If
    Next q
    List2.RemoveItem (i) '删除所选项
    Call mun
    End If
    Next i
    End If
    If ff = False Then
    For i = List2.ListCount - 1 To 0 Step -1
    If List2.Selected(i) Then
    List1.AddItem List2.List(i)
    List2.RemoveItem (i)
    Call mun
    End If
    Next i
    End If
    End Sub

      '6.双击Form1窗体,并输入窗体的初始化代码:

    Private Sub Form_Load()
    ff = True
    Call Init
    Call mun '调用统计列表个数的函数
    Frame1.Caption="功能转换"
    Frame2.Caption = ""
    Option1(0).ToolTipText = "实现只向List2控件添加内容并不删除原内容"
    Option1(1).ToolTipText = "实现向List2控件添加内容并将其原内容删除"
    Me.Icon = LoadPicture("") '标题栏没图标显示
    Me.Caption = "列表框应用技巧 [威龙工作室]"
    End Sub

      '7.选择Form1的“Unload”并输入下列代码:

    Private Sub Form_Unload(Cancel As Integer)
    Unload Me '结束程序
    End Sub

      '8.选择List1控件的“DblClick”并输入下列代码:

    Private Sub List1_DblClick()
    Command1_Click '实现双击添加
    End Sub

      '9.选择List2控件的“DblClick”并输入下列代码:

    Private Sub List2_DblClick()
    Command4_Click '实现双击删除
    End Sub
    '  提示:各位在执行某个程序时,想执行某个程序的代码,可以如上述第8和第9段代码一样就可以执行添加按钮和删除按钮相同的工作了。

      '10.双击Option1控件,并输入下列代码来实现功能转换:

    Private Sub Option1_Click(Index As Integer)
    Select Case Index
    Case 0
    ff = True
    Call Init
    Call mun
    Case 1
    ff = False
    Call Init
    Call mun
    End Select
    End Sub

      '11.分别统计出两个列表框中数据的个数:

    Private Sub mun()
    Label1.Caption = "列表框元素个数:" & List1.ListCount
    Label2.Caption = "列表框元素个数:" & List2.ListCount
    End Sub

      '12.初始化列表框的内容:

    Private Sub Init()
    For i = 0 To List1.ListCount - 1
    flag(i) = 0
    Next i
    List1.Clear '清除List1控件
    '初始化控件List1信息
    List1.AddItem "北京"
    List1.AddItem "广州"
    List1.AddItem "上海"
    List1.AddItem "台湾"
    List1.AddItem "香港"
    List1.AddItem "大连"
    List1.AddItem "澳门"
    List1.AddItem "深圳"
    List1.AddItem "成都"
    List1.AddItem "西藏自治区"
    List1.AddItem "云南"
    List1.AddItem "桂林"
    List1.AddItem "内蒙古自治区"
    List1.AddItem "重庆"
    List1.AddItem "哈尔滨"
    List1.AddItem "天津"
    List1.AddItem "海南岛"
    List1.AddItem "珠海"
    List1.AddItem "中山"
    List1.AddItem "钓鱼台"
    List1.AddItem "天津"
    List1.AddItem "宁夏回族自治区"
    List2.Clear '清空控件List2内容
    End Sub

      写完上面全部的源代码后,按F5键运行程序(如图3和图4所示)你就可以看到功能一和功能二到底有什么区别了。

      

    图3


      

    图4
    编程文章录入:fyf    责任编辑:fyf 
  • 上一篇编程文章:

  • 下一篇编程文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |