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

时间:2015-01-24 12:36:28

标签: c# .net email listbox selectedvalue

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

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)。如果我选择一个项目但是当我选择多个项目时,它只会发送第1个项目。我怎样才能循环到selectedValues?

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

        } 

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