Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示列表框。从类对象列表中选择编辑项_C#_Winforms_Class_Listbox - Fatal编程技术网

C# 显示列表框。从类对象列表中选择编辑项

C# 显示列表框。从类对象列表中选择编辑项,c#,winforms,class,listbox,C#,Winforms,Class,Listbox,我有一个包含两个成员(名称和值)的类。然后,我创建一个从文本文件填充的类对象列表,这样我就可以在name中获得文本文件中的名称,并在val中获得值。然后使用此列表创建一个列表框,其中显示所有名称 我要做的是从列表框中选择多个选项(名称),然后将所有选项的val存储在另一个列表中。这可能吗 我试过使用SelectedItems,但它似乎只存储类对象本身。但出于某种原因: foreach (object selectedItem in listBox1.SelectedItems) { te

我有一个包含两个成员(名称和值)的类。然后,我创建一个从文本文件填充的类对象列表,这样我就可以在
name
中获得文本文件中的名称,并在
val
中获得值。然后使用此列表创建一个
列表框
,其中显示所有名称

我要做的是从
列表框中选择多个选项(名称),然后将所有选项的
val
存储在另一个列表中。这可能吗

我试过使用
SelectedItems
,但它似乎只存储类对象本身。但出于某种原因:

foreach (object selectedItem in listBox1.SelectedItems)
{
    textBox1.AppendText(listBox1.SelectedValue.ToString() + Environment.NewLine);
}

显示选定项目的第一个值。如果我选择三个名称,其中第一个名称的值为
4
,结果是
4

您需要将
selectedItem
与“两个成员”一起强制转换到您的类中。然后您可以选择

foreach (object selectedItem in listBox1.SelectedItems)
{
    MyClass item = (MyClass)selectedItem
    textBox1.AppendText(item.Value.ToString() + Environment.NewLine);
}
如果我选择三个名称,其中第一个值为4,则结果为4


这是因为您不使用循环中的迭代变量,而是始终使用相同的
listBox1.SelectedValue
!这将是多个选定项目列表中的第一个

您需要将
selectedItem
与“两个成员”一起投射到您的班级中。然后您可以选择

foreach (object selectedItem in listBox1.SelectedItems)
{
    MyClass item = (MyClass)selectedItem
    textBox1.AppendText(item.Value.ToString() + Environment.NewLine);
}
如果我选择三个名称,其中第一个值为4,则结果为4


这是因为您不使用循环中的迭代变量,而是始终使用相同的
listBox1.SelectedValue
!这将是多个选定项目列表中的第一个

如何将项目放入
列表框
?数据绑定?或者你把它填成一个循环?您是否在自定义类中重写了
ToString()
方法?如何将项目放入
列表框
?数据绑定?或者你把它填成一个循环?您是否在自定义类中重写了
ToString()
方法?