将字符串发送到列表框(C#)

时间:2011-06-21 19:43:23

标签: c# .net windows winforms listbox

我目前有一个字符串被发送到TextBox,但是可以将它发送到列表框吗?

private void buttonLB_Click(object sender, EventArgs e)
{
    string machineName = (@"\\" + System.Environment.MachineName);
    ScheduledTasks st = new ScheduledTasks(machineName);
    // Get an array of all the task names
    string[] taskNames = st.GetTaskNames();
    richTextBox6.Text = string.Join(Environment.NewLine, taskNames);
    st.Dispose();
}

6 个答案:

答案 0 :(得分:5)

您可以将联接的任务名称添加为单个项目

listbox1.Items.Add(string.Join(Environment.NewLine, taskNames));

或者您可以将每个任务名称添加为单独的项目

foreach (var taskName in taskNames)
{
    listbox1.Items.Add(taskName);
}

答案 1 :(得分:2)

不是设置文本框的Text属性,而是将ListItem添加到列表框的Items集合中。

lstBox.Items.Add(new ListItem(string.Join(Environment.NewLine, taskNames));

或者...

foreach(var taskName in taskNames)
    lstBox.Items.Add(new ListItem(taskName));

答案 2 :(得分:0)

对于WinForms:

listView.Items.Add(string.Join(Environment.NewLine, taskNames));

答案 3 :(得分:0)

ListBox具有Items属性。您可以使用Add()方法将对象添加到列表中。

listBox.Items.Add("My new list item");

答案 4 :(得分:0)

使用AddRange,这可以获取一组对象。

以下是一些示例代码:

启动一个新的WinForms项目,将一个列表框放到一个表单上:

 string[] names = new string[3];
 names[0] = "Item 1";
 names[1] = "Item 2";
 names[2] = "Item 3";
 this.listBox1.Items.AddRange(names);

对于您的具体示例:

// Get an array of all the task names       
string[] taskNames = st.GetTaskNames();      
this.listBox1.Items.AddRange(taskNames);

如果重复调用此项,请在添加项目之前根据需要调用clear:

this.listBox1.Items.Clear();

答案 5 :(得分:-2)

A couple seconds worth of googling

foreach(String s in taskNames) {
    listBox1.Items.add(s);
}