.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. SQL文件导入到mysql乱码

    在输入中文之前先SET NAMES GBK 彻底解决MYSQL中文乱码的办法((5.5以后版本:) 修改MYSQL配置文件my.ini [client] default-character-set=u ...

  2. 关于QT、GCC、GNU下各个版本的下载地址

    http://download.qt.io/ http://ftp.gnu.org/gnu/gcc/ http://ftp.gnu.org/pub/gnu/

  3. FAQ:Python 断点调试

    Python程序调试:断点调试是必须有的功能,以Pycharm开发工具为例: 一.理论知识: 1. step into(F7)就是单步执行,遇到子函数就进入并且继续单步执行: 2  step over ...

  4. MRP工作台任务下达之计划组为必输

    应用 Oracle   Manufacturing Planning 层 Level Function 函数名 Funcgtion Name MRPFPPWB 表单名 Form   Name MRPS ...

  5. Wafer管芯数量及成本估算

    芯片流片费用一般不按颗数计价,现在流片主要分为全晶圆和MPW两种方式.   MPW是现在很流行的一种tapout方法,主要是按晶圆面积来均分价格.   如果是整个wafer的话,成本主要是wafer费 ...

  6. ARM Cortex M3(V7-M架构)硬件启动程序 二

    解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...

  7. C语言入门(10)——if分支语句

    在我们写的函数中可以有多条语句,但这些语句总是从前到后顺序执行的.除了从前到后顺序执行之外,有时候我们需要检查一个条件,然后根据检查的结果执行不同的后续代码,在C语言中可以用分支语句实现,比如: if ...

  8. yum subversion puppet puppet-server

    yum -y install ruby ruby-libs ruby-shadow yum -y install puppet puppet-server facter yum -y install ...

  9. hdu 4598 Difference(奇圈判定+差分约束)

    这是通化邀请赛的题,当时比赛的时候还完全没想法呢,看来这几个月的训练还是有效果的... 题意要求(1) |ai| < T for all i   (2) (vi, vj) in E <=& ...

  10. javascript数组排序-----1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...