提取ListBox中的选定项c#

时间:2017-06-09 03:35:49

标签: c#

我有一个显示List<Student>成员的列表框,其中Student是一个具有名称等属性的类。我还有一个列表框,显示'List {的成员{1}}纸张where Student`。

当点击按钮时,如何获取所选is similar toStudent并将其添加到Paper

我试过了 dict {Paper.Name:Student.Name}

Form2

但我收到错误

selectedStudent_Form2 = studentListBox_Form2.SelectedItem;

3 个答案:

答案 0 :(得分:2)

假设您已将学生的姓名添加到listBox,那么您可以在数据结构中搜索所选名称(nameToSearch)。

string nameToSearch = studentListBox_Form2.SelectedItem.ToString();

foreach (Student s in students) { //or use a for loop
    if (s.Name == nameToSearch) {
        //code
    }
}

答案 1 :(得分:0)

在您的第一个列表框中放置一个SelectionChanged事件

LB1.SelectionChanged += LB1_SelectionChanged;

然后实现SelectionChanged方法,如下所示:

   oid LB1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    LB2.SelectedItems.Clear();
    foreach(var selected in LB1.SelectedItems)
    {
        LB2.SelectedItems.Add(selected);
    }
}

注意:LB =列表框

答案 2 :(得分:0)

ListBox.SelectedItem始终返回对象类型值。所以你不能直接将selectedItem分配给学生。你需要施展它。但你不能简单地将任何东西投入到学生类型中。如果您将student设置为displayValue,则只能将selectedItem转换为student。但我认为你没有将displayValue设置为学生,你可能已将displayValue设置为学生的姓名。

所以你可以做的是将listBox(学生和纸张)的displayValue分别设置为学生的姓名和Paper的名字。 现在你将通过studentListBox_Form2.SelectedItem.ToString()和获得studentName papername by paperListBox_Form2.SelectedItem.ToString()。

现在您可以将它们用作键和值对添加到词典