Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# winform中的列表框所选项目_C#_Winforms_Listbox - Fatal编程技术网

C# winform中的列表框所选项目

C# winform中的列表框所选项目,c#,winforms,listbox,C#,Winforms,Listbox,我在Windows应用程序中有listbox、button和textbox控件。如何在文本框中显示多个选定值 这是我的密码 textBox1.Text = listBox1.SelectedItems.ToString(); 但它在文本框中显示如下:(我选择了多个项目) 请帮助我您需要迭代项目集合。比如: textBox1.Text = ""; foreach (object o in listBox1.SelectedItems) textBox1.Text += (textBox1.

我在Windows应用程序中有listbox、button和textbox控件。如何在文本框中显示多个选定值

这是我的密码

textBox1.Text = listBox1.SelectedItems.ToString();
但它在文本框中显示如下:(我选择了多个项目)


请帮助我

您需要迭代项目集合。比如:

textBox1.Text = "";
foreach (object o in listBox1.SelectedItems)
   textBox1.Text += (textBox1.Text == "" ? "" :", ") + o.ToString();
string text = "";

foreach (System.Data.DataRowView item in listBox1.SelectedItems) {
    text += item.Row.Field<String>(0) + ", ";
}
textBox1.Text = text;

你可以这样做:

textBox1.Text = "";
foreach (object o in listBox1.SelectedItems)
   textBox1.Text += (textBox1.Text == "" ? "" :", ") + o.ToString();
string text = "";

foreach (System.Data.DataRowView item in listBox1.SelectedItems) {
    text += item.Row.Field<String>(0) + ", ";
}
textBox1.Text = text;
string text=”“;
foreach(列表框1.SelectedItems中的System.Data.DataRowView项){
text+=项.行.字段(0)+“,”;
}
textBox1.Text=文本;
:返回当前选定项目的集合

循环浏览列表框的SelectedItems集合

foreach (ListItem liItem in ListBox1.SelectedItems)
{
    // write your code.   
}

实际上,如果您知道输入到列表框中的对象的类型,则所选项目就是该类型,下面是一个示例: 将文件信息列表输入列表框:

        FileInfo[] lFInfo = new DirectoryInfo(textBox1.Text).GetFiles();
        foreach (var i in lFInfo)
            lstFile.Items.Add(i);
复制功能,用于将所选文件复制到textBox2的路径。文本:

private void btnCopy_Click(object sender, EventArgs e)
 {
      foreach (FileInfo i in lstFile.SelectedItems)
          File.Copy(i.FullName, Path.Combine(textBox2.Text, i.Name));
  }
这篇文章很老了,但缺少一个正确的、可以理解的一般性答案 无论数据绑定项类型如何工作,例如
列表
数据表
,或无论设置与否都可以工作
DisplayMember

获取
列表框
组合框
中项目文本的正确方法是使用方法

无论项目的类型是什么,如果您使用了
DataSource
displayember
它使用
displayember
返回文本,否则它使用
ToString
项目方法

例如,要获取以逗号分隔的选定项目文本列表,请执行以下操作:

var texts = this.listBox1.SelectedItems.Cast<object>()
                .Select(x => this.listBox1.GetItemText(x));

MessageBox.Show(string.Join(",", texts));
var text=this.listBox1.SelectedItems.Cast()
.Select(x=>this.listBox1.GetItemText(x));
Show(string.Join(“,”,text));

注意:对于那些查找选定项目值而不是选定项目文本的人,无论项目类型和值成员字段如何,他们都使用扩展方法。

如果有许多元素,考虑使用StringBuilder,因为它更有效……还有一个text=String.Join(“,listBox1.SelectedItems);@苏里亚:那么你应该做有礼貌和适当的事情,接受最好的答案/真正解决你问题的答案。要接受答案,请用上下箭头单击答案左侧“0”下方的复选标记。如果有人帮助您-请接受答案。@rahul,winforms中没有像webforms中那样的ListItem类。