Отправка строки в список (C #) - PullRequest
2 голосов
/ 21 июня 2011

У меня в настоящее время есть строка, отправляемая в 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 ]

5 голосов
/ 21 июня 2011

Вы можете добавить объединенные имена задач как один элемент

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

Или вы можете добавить каждое из имен задач как отдельный элемент

foreach (var taskName in taskNames)
{
    listbox1.Items.Add(taskName);
}
2 голосов
/ 21 июня 2011

Вместо установки свойства Text текстового поля добавьте ListItem в коллекцию элементов списка.

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

Или ...

foreach(var taskName in taskNames)
    lstBox.Items.Add(new ListItem(taskName));
0 голосов
/ 22 июня 2011

Используйте 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);

Если это вызывается многократно, перед добавлением элементов позвоните по мере необходимости:

this.listBox1.Items.Clear();
0 голосов
/ 21 июня 2011

ListBox имеет свойство Items . Вы можете использовать метод Add () для добавления объекта в список.

listBox.Items.Add("My new list item");
0 голосов
/ 21 июня 2011

Для WinForms:

listView.Items.Add(string.Join(Environment.NewLine, taskNames));
0 голосов
/ 21 июня 2011

Гугл на пару секунд

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