如何从 C# 中的列表框中获取多个选定值?

How to get multiple selectedvalues from listbox in c#?

我正在做一个电子邮件发件人作为我程序的一部分。在表单中,我有加载了此代码的列表框:

connection = new SqlConnection(connectionString);
        connection.Open();
        string sql = "SELECT Email,(CONVERT(varchar(2),FlatNo)+'- '+Name+' '+Surname) AS FullName FROM People " +
                     "ORDER BY FlatNo ";

        SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        listBox1.DisplayMember="FullName";
        listBox1.ValueMember = "Email";
        listBox1.DataSource = dt;
        connection.Close();

我有 sendEmail(string toPerson) 功能。当我单击发送按钮时,我将电子邮件函数调用为 sendEmail(listbox1.selectedValue)。如果我选择一件物品,但当我 select 多件物品时,它会起作用,它只发送第一个。我如何循环进入 selectedValues?

使用SelectedItems属性获取多选值: https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.selecteditems(v=vs.110).aspx

或者您可以使用 SelectedIndices 属性 获取所选项目的索引。

foreach (var listBoxItem in listBox1.Items )
         {
           list<string> x=new list<string>();
           if(listBox1.SelectedItem==true)
           {
            x.add(listBox1.SelectedItem[i];
           } 

        } 

现在您有了包含列表框中所有选定项目的列表 x