如何从 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
我正在做一个电子邮件发件人作为我程序的一部分。在表单中,我有加载了此代码的列表框:
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