Winform/C#入门编程之第二部分常用控件(八:列表控件ListBox)

本文详细介绍ListBox控件的属性、事件及使用方法,包括如何通过Items属性添加、插入、删除列表项,以及如何处理SelectedIndexChanged事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:

        表示用于显示项列表的 Windows 控件,  ListBox 控件为用户提供可选项列表。可用于日志的显示。

 

介绍:

1.属性

常用属性
Name获取或设置控件的名称。
HorizontalScrollbar

获取或设置一个值,该值指示是否在控件中显示水平滚动条。

Sorted

获取或设置一个值,该值指示 ListBox 中的项是否按字母顺序排序。

RightToLeft

获取或设置一个值,该值指示由控件显示的文本是否从右向左显示。

Items

 

获取或设置 ListBox 的项
                                         属性
Count 

获取集合中项的数目。

                                       方法
Add向 ListBox 的项列表添加项。
Insert

将项插入列表框的指定索引处。

Remove 

从集合中移除指定的对象。

RemoveAt 

移除集合中指定索引处的项。

 

ReadOnly

获取或设置一个值,该值指示文本框中的文本是否为只读。

SelectedItem

获取或设置 ListBox 中的当前选定项。

SelectedIndex

获取或设置 ListBox 中当前选定项的从零开始的索引。

 

2.事件

常用事件
SelectedIndexChanged

在 SelectedIndex 属性或 SelectedIndices 集合更改后发生。

 

3.使用

  1. 一般更改属性Name。
  2. 通过属性Items添加要显示的字符串。
列表控件

 

 

4.原理

  1. 通过属性Items的Add方法添加要显示的字符串默认会一行行的添加。
  2. 如果每次新增内容时要在首行或指定行显示时,可以通过属性Insert,指定行索引。

 

5.演示

  • 尾行显示
        private void button1_Click(object sender, EventArgs e)
        {
            int count = listBox1.Items.Count;

            ////选中当前行
            //listBox1.SelectedItem = listBox1.Items[count];
            listBox1.Items.Add(button1.Text + count.ToString());
            //选中尾行,第一种
            listBox1.SelectedIndex = count;
            ////选中尾行,第二种
            //listBox1.SelectedItem = listBox1.Items[count];

        }

 

尾行显示效果

  

  • 首行显示。
        private void button1_Click(object sender, EventArgs e)
        {
            int count = listBox1.Items.Count;
            int index = 0;
            //指定位置添加
            listBox1.Items.Insert(index, button1.Text + count.ToString());
            //选中首行
            listBox1.SelectedIndex = index;
        }

 

首行显示效果

 

QQ好友例表控件 实例和源码 //1. 属性列表: // SelectionMode 组件中条目的选择类型,即多选(Multiple)、单选(Single) // Rows 列表框中显示总共多少行 // Selected 检测条目是否被选中 // SelectedItem 返回的类型是ListItem,获得列表框中被选择的条目 // Count 列表框中条目的总数 // SelectedIndex 列表框中被选择项的索引值 // Items 泛指列表框中的所有项,每一项的类型都是ListItem //2. 取列表框中被选中的值 // ListBox.SelectedValue //3. 动态的添加列表框中的项: // ListBox.Items.Add("所要添加的项"); //4. 移出指定项: // //首先判断列表框中的项是否大于0 // If(ListBox.Items.Count > 0 ) // { ////移出选择的项 //ListBox.Items.Remove(ListBox.SelectedItem); // } //5. 清空所有项: // //首先判断列表框中的项是否大于0 // If(ListBox.Items.Count > 0 ) // { ////清空所有项 //ListBox.Items.Clear(); // } //6. 列表框可以一次选择多项: // 只需设置列表框的属性 SelectionMode="Multiple",按Ctrl可以多选 //7. 两个列表框联动,即两级联动菜单 // //判断第一个列表框中被选中的值 // 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"); // } //8. 实现列表框中项的移位 // 即:向上移位、向下移位 // 具体的思路为:创建一个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; //9. 移动指针到指定位置: // (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; //this.ListBox1.Items.Insertat(3,new ListItem("插入在第3行之后项","")); //this.ListBox1.Items.Insertat(index,ListItem) //ListBox1.Items.Insert(0,new ListItem("text","value"));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值