在ListBox中被选择的项目取得和设定

本文介绍了ListBox控件的选择方式及其设定方法,并详细阐述了如何获取及设置ListBox中被选中的项目。

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

在ListBox中被选择的项目取得和设定

下面介绍取得ListBox被选择的项目或者设定的方法。在这之前先说明一下ListBox项目的选择方法。

ListBox项目的选择方法

ListBox有两种类型,一种是只能选择一项项目,另一种是可以选择多项项目。通过ListBox控件的SelectionMode属性可以设定。当SelectionMode属性设定为None时,ListBox的项目是不能被选择。设定为One时,只能选择一项项目(以下称为「单一选择ListBox」)。如果想多项项目选择时,设定SelectionMode属性为MultiExtended或为MultiSimpl(以下称为「复数选择ListBox」)。在设定为MultiExtended时,开发者可以使用Ctrl键或Shift键方法选择复数项目。在设定为MultiSimple时是不能使用Ctrl键或Shift键,点击或Space键可以一项一项的选择。

取得ListBox被选择的项目

接下来,说明取得ListBox被选择项目的方法。

在设定单一选择ListBox时,通过SelectedItem以及SelectedIndex属性可以取得被选择项目的索引号码。或者被选择项目的文本,可以通过 Text属性取得。ValueMember属性被指定时,使用SelectedValue属性可以取得被选择项目的值。

在设定复数选择ListBox时,通过SelectedItems以及SelectedIndices属性,取得被选择的所有项目和收集的索引号码。

而且可以使用GetSelected方法检测被指定的项目是否被选择。

[C#]

//取得被选择的项目
//复数选择ListBox,可以返回任意被选择项目
Console.WriteLine("被选择项目:{0}", ListBox1.SelectedItem);

//取得被选择项目的索引号码
//没有被选择项目时-1
//复数选择ListBox,可以返回任意被选择项目的号码
Console.WriteLine("被选择项目的索引号码:{0}",
     ListBox1.SelectedIndex);

//取得被选择项目的文本
//复数选择ListBox,返回最初被选择项目的文本
Console.WriteLine("被选择项目的字符串:{0}", ListBox1.Text);

//检测被指定索引号码的项目是否被选择 Console.WriteLine("0号的项目被选择了吗:{0}", ListBox1.GetSelected(0)); //所有被选择的项目取得
Console.WriteLine("所有被选择的项目:");
for (int i = 0; i < ListBox1.SelectedItems.Count; i++)
{
     Console.WriteLine(" {0}", ListBox1.SelectedItems[i]);
}

//所有被选择的项目的索引号码取得
Console.WriteLine("所有被选择的项目的索引号码:");
for (int i = 0; i < ListBox1.SelectedIndices.Count; i++)
{
     Console.WriteLine(" {0}", ListBox1.SelectedIndices[i]);
}

在ListBox选择项目

下面对在ListBox选择项目的方法进行说明。

通过SelectedIndex属性可以指定想选择项目的索引号码,然后进行选择。或者使用SetSelected方法同样也可以通过索引号码进行项目选择。ValueMember属性被指定时,通过SelectedValue属性可以指定选择项目的值。

通过SelectedItem或Text、SelectedValue属性可以选择项目,这里在ListBox中如果有相同的项目、相同的文本时,只能选择最初被检测到的项目。

在复数选择ListBox,指定的项目变更为被选择状态时,首先要通过ClearSelected方法清空被选择的项目。

[C#]

//清空ListBox中被选择的项目
ListBox1.ClearSelected();

//选择3~6号的项目
for (int i = 2; i <= 5; i++)
{
     ListBox1.SelectedIndex = i;
}

//在ListBox中如果存在100(数字)时,成为最初的选择项目
ListBox1.SelectedItem = 100;

//在ListBox中如果有文本"100"时,成为最初的选择项目
ListBox1.Text = "100";

//选择10号的项目
ListBox1.SetSelected(9, true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值