.NET FrameWork>參考>类库>System.Windows.Forms>ListBox类的属性

1. 属性列表:
    SelectionMode   
 组件中条目的选择类型:None-根本不同意不论什么选择;One-默认值,仅仅选择单个选项;MultiSimple-简单的多项选择,单击一次鼠标就选中或取消选中列表中的一项;MultiExtended-扩展的多项选择,相似windows中的选择操作.  
  SelectedItem    
 在单选的列表框里,  SelectedItem返回的是一个对象,它的文本由Text属性表示.作用是获得列表框中被选择的条目.假设控件同意多项选择,被选中的条目就以SelectedItems属性表示,它是Item对象的一个集合.
    Count           
列表框中条目的总数
    SelectedIndex /SelectedIndices/SelectedItem/SelectedItems
ListBox.SelectedIndex属性获取单项选择ListBox中当前选定项的位置;ListBox.SelectedIndices属性获取一个集合,该集合包括ListBox中全部当前选定项的从零開始的索引;ListBox.SelectedItem属性获取ListBox中当前选定的项;ListBox.SelectedItems属性获取多重选择ListBox中全部选定的项,它是一集合。
Public ReadOnly Property SelectedIndices As ListBox.SelectedIndexCollection 
ListBox.SelectedIndexCollection,包括控件中当前选定项的索引。假设当前没有选定的项,则返回空 ListBox.SelectedIndexCollection
 泛指列表框中的全部项
2. 取列表框中被选中的值  
     ListBox.SelectedValue  
3. 动态的加入列表框中的项:
     ListBox.Items.Add("所要加入的项");
下面代码实现通过输入框向列表框中加入内容:
    Private Sub bttnAdd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnAdd1.Click
        Dim ListItem As String
        ListItem = InputBox("Enter new item's name")
        If ListItem.Trim <> "" Then
            sourceList.Items.Add(ListItem)
        End If
    End Sub
     ListBox.Items.Insert(index,item)
     item是要加入到列表的对象,index是这个新项的索引。
4. 移出指定项:
     //首先推断列表框中的项是否大于0
     If(ListBox.Items.Count > 0 )
     {
     //移出选择的项
      ListBox.Items.Remove(ListBox.SelectedItem);
     }
下面代码实现从单项选择的列表框中删除被选中的条目:
    Private Sub bttnRemoveSelDest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnRemoveSelDest.Click
        ListBox.Items.Remove(ListBox.SelectedItem)
    End Sub
下面代码实现从多项选择列表框中删除多个条目:
    Private Sub bttnRemoveSelSrc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnRemoveSelSrc.Click
        Dim i As Integer
        For i = 0 To ListBox.SelectedIndices.Count - 1
            LisBoxt.Items.RemoveAt(ListBox.SelectedIndices(0))
        Next
    End Sub
    备注:利用ListBox.Items.Remove方法,以要删除的对象作为參数,从列表中删除条目。而利用RemoveAt方法能够删除指定位置(索引)的列表项,它以索引作为參数:ListBox.Items.RemoveAt(index)
5. 清空全部项:
     //首先推断列表框中的项是否大于0
     If(ListBox.Items.Count > 0 )
     {
     //清空全部项
     ListBox.Items.Clear();
     }
6. 列表框能够一次选择多项:
     仅仅需设置列表框的属性 SelectionMode="Multiple",按Ctrl能够多选
7. 多列表框中搜索字符串:
FindString和 FindStringExact方法能够迅速地找到条目(search word)在列表里的位置(wordIndex)。它们都接收字符串作为弟一个參数,第二个參数可选,用于指定搜索開始的位置。当中FindString找到与指定字符部分匹配的条目,而FindStringExact找到时全然匹配的。
wordIndex=ListBox.FindStringExact("search word")
wordIndex=ListBox.FindString("search word")
8. Contains方法
利用它能够避免在列表中插入同样的对象。此方法接收一个对象作为參数,返回Ture/False来表示Items集合中是否包括这个对象。比方,要实现下面功能:先检查插入的字符串是否已经存在于列表,仅仅有当列表中还没有包括这个字符串时才插入它。其代码例如以下(VB.Net):
 Dim itm As String="Remote Computing"
 If Not ListBox.Items.Contains(itm) then
           ListBox1.Item.Add(itm)
 End If
9. 两个列表框联动,即两级联动菜单
     //推断第一个列表框中被选中的值
     switch(ListBox1.SelectValue)
     {
//假设是"A",第二个列表框中就加入这些:
case "A"
      ListBox2.Items.Clear();
      ListBox2.Items.Add("A1");
      ListBox2.Items.Add("A2");
      ListBox2.Items.Add("A3");
//假设是"B",第二个列表框中就加入这些:
case "B"
      ListBox2.Items.Clear();
      ListBox2.Items.Add("B1");
      ListBox2.Items.Add("B2");
      ListBox2.Items.Add("B3");
     }
10. 实现列表框中项的移位
     即:向上移位、向下移位
     详细的思路为:创建一个ListBox对象,并把要移位的项先暂放在这个对象中。
     假设是向上移位,就是把当前选定项的的上一项的值赋给当前选定的项,然后
     把刚才新增加的对象的值,再附给当前选定项的前一项。
     详细代码为:
      //定义一个变量,作移位用
      index = -1;
      //将当前条目的文本以及值都保存到一个暂时变量里面
      ListItem lt=new ListItem (ListBox.SelectedItem.Text,ListBox.SelectedValue);
      //被选中的项的值等于上一条或下一条的值
      ListBox.Items[ListBox.SelectedIndex].Text=ListBox.Items[ListBox.SelectedIndex + index].Text;
      //被选中的项的值等于上一条或下一条的值
      ListBox.Items[ListBox.SelectedIndex].Value=ListBox.Items[ListBox.SelectedIndex + index].Value;
      //把被选中项的前一条或下一条的值用暂时变量中的代替
      ListBox.Items[ListBox.SelectedIndex].Test=lt.Test;
      //把被选中项的前一条或下一条的值用暂时变量中的代替
      ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
      //把鼠标指针放到移动后的那项上
      ListBox.Items[ListBox.SelectedIndex].Value=lt.Value;
11. 移动指针到指定位置:
      (1).移至首条
          //将被选中项的索引设置为0就OK了
          ListBox.SelectIndex=0;
      (2).移至尾条
          //将被选中项的索引设置为ListBox.Items.Count-1就OK了
          ListBox.SelectIndex=ListBox.Items.Count-1;
      (3).上一条
          //用当前被选中的索引去减 1
          ListBox.SelectIndex=ListBox.SelectIndex - 1;
      (4).下一条
          //用当前被选中的索引去加 1
          ListBox.SelectIndex=ListBox.SelectIndex + 1;

ListBox控件的操作与实现的更多相关文章

  1. asp.net中的ListBox控件添加双击事件

    问题:在Aspx页里的ListBox A中添加双击事件,将选中项添加到另一个ListBox B中,双击ListBox B中的选中项,删除当前选中项 页面: <asp:ListBox ID=&qu ...

  2. MFC中Listbox控件的简单使用

    MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_M ...

  3. asp.net Listbox控件用法

    2008-02-18 19:56 来源: 作者: ListBox(列表框)控件可以显示一组项目的列表,用户可以根据需要从中选择一个或多个选项.列表框可以为用户提供所有选项的列表.虽然也可设置列表框为多 ...

  4. ListBox控件

    主要介绍:自定义数据.绑定数据库数据 前台代码: <div> <asp:ListBox ID=" Width ="100px"> <asp: ...

  5. listbox控件使用

    1. 属性列表: SelectionMode    组件中条目的选择类型,即多选(Multiple).单选(Single)    Rows             列表框中显示总共多少行    Sel ...

  6. MFC中listbox控件中各种属性的详解

     ListBox控件是Windows 窗体的一个空间,ListBox 控件显示一个项列表,用户可从中选择一项或多项.      如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条. ...

  7. c# ListBox控件

    ListBox控件可以一次呈现多个项,并且语序对控件中的选项进行选择操作,ListBox类公开Items属性,它是一个集合,类型为ListBox.ObjectCollection,是ListBox的一 ...

  8. C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...

  9. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

随机推荐

  1. Flink资料(8) -- Flink代码贡献的指导及准则

    本文翻译自Contributing Code ----------------------------------------- Apache Flink是由自愿的代码贡献者维护.优化及扩展的.Apa ...

  2. caffe 配置 札记

    cudnn的配置 1. 安装前请去先官网下载cuDNN (cudnn-7.0-linux-x64-v3),建议安装v3,v4有些问题. 将cudnn-7.0-linux-x64-v3解压后会有两个文件 ...

  3. Dnsmasq(局域网DNS,DHCP)

    安装:yum -y install dnsmasq   dnsmasq配置文件: /etc/dnsmasq.conf 默认指定DNS服务器(优先级)文件:/etc/resolv.conf 默认host ...

  4. Myeclipse普通工程转为Maven工程

    在SVN导出的Maven项目,或以前不是用Maven管理的项目想要转换成Maven项目,但Myeclipse中右键Configure 找不到(eclipse可行)Convert to maven pr ...

  5. JavaEE Tutorials (18) - Java EE平台安全介绍

    18.1Java EE安全概述278 18.1.1简单的应用安全演示279 18.1.2安全机制特性281 18.1.3应用安全特点28118.2安全机制282 18.2.1Java SE安全机制28 ...

  6. SDL介绍

    SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成.SDL提供了数种控制图像.声音.输出入的函数,让开发者只要用相同或是相似的代码就可以开发 ...

  7. 今天起改用mac的marsedit写博

    最近一直使用mac来工作,所以写博也相应改为marsedit. 初步感觉还是不错的,越来越发现mac其实也适合在工作中使用,生活上当然不在话下. 从高富帅的x220t变成屌丝的macbook小白(升级 ...

  8. Oracle_系统和对象权限管理

    授予系统权限: GRANT { system_privilege | role } [,{ system_privilege | role }]... ... TO {user | role | PU ...

  9. 前端开发工具—fiddle

  10. 新浪微博布局学习——妙用TabHost

    前言 为了更好的开发Android应用程序,除了熟练掌握基本的UI组件和API外,还需要掌握一些技巧,而这些技巧可以通过阅读一些代码来提高,本系列将与大家分享一些新浪微博布局方面的收获,欢迎交流! 声 ...