【问题标题】:How to get multiple selectedvalues from listbox in c#?如何从 C# 中的列表框中获取多个选定值?
【发布时间】:2015-01-24 12:36:27
【问题描述】:

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

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)。如果我选择一个项目,它会起作用,但是当我选择多个项目时,它只发送第一个。如何循环进入 selectedValues?

【问题讨论】:

    标签: c# .net email listbox selectedvalue


    【解决方案1】:

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

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

    【讨论】:

    • SelectedIndices 有效,但我仍然无法达到 selectedValue。要使用 selectedIndices,我还需要一个 sql 连接函数并发送此索引值并将电子邮件作为字符串返回。在这种情况下 selectedValues 是没有意义的。
    • 我就是按照上面说的方法做的,感谢 selectedindices 的想法
    【解决方案2】:
    foreach (var listBoxItem in listBox1.Items )
             {
               list<string> x=new list<string>();
               if(listBox1.SelectedItem==true)
               {
                x.add(listBox1.SelectedItem[i];
               } 
    
            } 
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2016-11-13
      • 2017-01-07
      • 2018-10-23
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多