求知若饥,虚心若愚

Winform控件学习笔记【第三天】——ListBox

1. 属性事件列表:

      SelectionMode    组件中条目的选择类型,即多选(Multiple)、单选(Single)

      Rows             列表框中显示总共多少行

      Selected         检测条目是否被选中

      SelectedItem     返回的类型是ListItem,获得列表框中被选择的条目

      Count            列表框中条目的总数

      SelectedIndex    列表框中被选择项的索引值

  Items            泛指列表框中的所有项,每一项的类型都是ListItem

  SelectedIndexChanged    当选择项改变后触发事件

 

2. 取列表框中被选中的值

     ListBox.SelectedValue

 

3. 动态的添加列表框中的项:

     ListBox.Items.Add("所要添加的项");

 

4. 移出选定项:

1
2
3
4
5
6
//首先判断列表框中的项是否大于0
If(ListBox.Items.Count > 0 )
{
    //移出选择的项
    ListBox.Items.Remove(ListBox.SelectedItem);
}

 

5. 清空所有项:

1
2
3
4
5
6
//首先判断列表框中的项是否大于0
If(ListBox.Items.Count > 0 )
{
    //清空所有项
    ListBox.Items.Clear();
}

 

6. 列表框可以一次选择多项:

     只需设置列表框的属性 SelectionMode="Multiple",按Ctrl可以多选

 

7. 实现列表框中项的移位

     即:向上移位、向下移位

     具体的思路为:创建一个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;

 

8. 移动指针到指定位置:

      (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;

 

9.插入方式

this.ListBox1.Items.Insertat(3,new   ListItem("插入在第3行之后项",""));
this.ListBox1.Items.Insertat(index,ListItem)
ListBox1.Items.Insert(0,new   ListItem("text","value"));
posted @   初行  阅读(3608)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述

点击右上角即可分享
微信分享提示