如何将CheckedListBox选定项目放入List <x> ...?</x>

时间:2012-12-19 05:08:26

标签: c# winforms checkedlistbox

我有一个X类型的列表.X是一个属性级别类。 现在,在一个事件中,我需要将CheckedListBox选择的项目放入另一个列表中。

如何获得输出......? 我试过的代码如下所示......

public void Initialize(List<X> x1)
{
        chkList.DataSource = x1;
        chkList.DisplayMember = "MeterName"; // MeterName is a property in Class X
        chkList.ValueMember = "PortNum"; // PortNum is a property in Class X
}

private void Click_Event(object sender, EventArgs e)
{

List<X> x2 = new List<X>();
// Here I want to get the checkedListBox selected items in x2;
// How to get it...???

}

5 个答案:

答案 0 :(得分:16)

您可以尝试以下

 List<X>  x2 =  chkList.CheckedItems.OfType<X>().ToList();

或作为对象施放

List<object>  x2 = chkList.CheckedItems.OfType<object>().ToList();

答案 1 :(得分:1)

我得到了答案

private void Click_Event(object sender, EventArgs e)
{

List<X> x2 = new List<X>();
foreach (X item in chkList.CheckedItems)
    {
        x2.Add(item);
    }
}

答案 2 :(得分:1)

这是一种适合我的方式:

List<X> x2 = new List<X>();
x2 = chkList.CheckedItems.Cast<X>().ToList();

答案 3 :(得分:0)

string[] miList = chkList.CheckedItems.OfType<object>().Select(li => li.ToString()).ToArray();

答案 4 :(得分:0)

这是另一个选项

List<X> lst = new List<X>(chkList.CheckedItems.Cast<X>());