.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. C#开发者通用性代码审查清单

    这是为C#开发者准备的通用性代码审查清单,可以当做开发过程中的参考.这是为了确保在编码过程中,大部分通用编码指导原则都能注意到.对于新手和缺乏经验(0到3年工作经验)的开发者,参考这份清单编码会很帮助 ...

  2. VPN服务器搭建好以后的安全防护

    之前讲过VPN的搭建过程,那么搭建完毕后,需要做哪些防护呢? 这里只说一下禁止VPN账户登录到服务器的设置,直接上图 找到权限分配后把VPN账号添加到拒绝本地登录的策略中,这样保障了VPN账户不能通过 ...

  3. python 日期、时间戳转换

    获取当前日期: from datetime import datetime IN:datetime.now() OUT:datetime(2016,10,19,6,51,21,72341) 转化为字符 ...

  4. JPEG图像密写研究(一) JPEG图像文件结构

    [转载]转载自http://www.cnblogs.com/leaven/archive/2010/04/06/1705846.html JPEG压缩编码算法的主要计算步骤如下: (0) 8*8分块. ...

  5. 解密电子书之一:电子墨水(eink)

    今日,关于电子书的话题不断,先是盛大抖了个攒,测试/定价/赔钱的营销策略引来多方质疑.而后汉王又抛出个8寸/800MHz/ARM A8的指标产品大打性能牌. 身为电子行业网站,与非网在时尚数码热潮面前 ...

  6. 关于“#ifdef __cplusplus”

    CC++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定 ...

  7. MFC对话框屏蔽Enter和ESC键

    MFC对话框屏蔽Enter和ESC键参考:http://www.docin.com/p-122354833.html 方法一重载PreTranslateMessage函数 BOOL CXXDlg::P ...

  8. HDU 3641 Treasure Hunting(阶乘素因子分解+二分)

    题目链接:pid=3641">传送门 题意: 求最小的 ( x! ) = 0 mod (a1^b1*a2^b2...an^bn) 分析: 首先吧a1~an进行素因子分解,然后统计下每一 ...

  9. 为什么没有好用的Android游戏引擎?

    随着Android平台的不断发展,最近Android开发人员数量呈现出上升势头,就连以往较为冷门的游戏开发领域也涌现出不少生力军.然而,全新的问题正摆在了刚開始学习的人面前,非常多他们从未遇过的问题開 ...

  10. Rabbit and Grass(杭电1849)(尼姆博弈)

    Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...