2011-06-21 32 views
2

我目前有一個字符串被髮送到一個文本框,但相反,它可以發送到一個列表框?發送一個字符串到列表框(C#)

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(); 
} 
+1

Winforms或WPF?想一想你想做什麼 - 將一個文本發送到一個列表框是什麼意思? – Oded

+0

@Oded這是MS Visual Studio 2010中的默認GUI,我只需要將具有多個值的字符串獲取到列表框中的induvidual行 – Mathew

+0

我不知道默認GUI的含義。您仍然需要爲項目選擇winforms或WPF。 – Oded

回答

3

您可以添加加入任務名稱作爲單個項目

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

或者您可以將每個任務的名字作爲一個單獨的項目

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

@druttka這似乎並沒有工作:S,它適用於RichTextBox – Mathew

+0

你應該告訴我們爲什麼它不起作用?它在做什麼?我測試了Items.Add在一個新的WinForms項目中,它確實有效。 –

+0

@druttka哦,你用上面的代碼測試過了嗎?如果是這樣,你可以讓我知道你使用了什麼? – Mathew

-2

A couple seconds worth of googling

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

'System.Windows.Forms.ListBox'不包含'add'的定義,並且沒有擴展方法'add'接受類型'System.Windows.Forms.ListBox'的第一個參數可以被發現 – Mathew

+0

@Mathew:有一個看看提供的鏈接。請自己至少做一些工作 – yas4891

+2

您的代碼與您鏈接的代碼有很大不同。 – recursive

1

取而代之設置文本框的Text屬性,將ListItem添加到列表框的Items集合中。

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

或者......

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

無法找到類型或命名空間名稱'ListItem' – Mathew

+1

@Mathew對不起。我正在考慮ListBox的Web版本。 WinForms版本只接受一個對象,而不是一個ListItem。 – FishBasketGordo

0

對於的WinForms:

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

@ This does not work:/ – Mathew

+0

errr。你用你的ListView對象的名稱替換了listView嗎? – yas4891

+0

是的,它不會編譯,否則(在我的情況下) – Mathew

0

列表已Items財產。您可以使用Add()方法將對象添加到列表中。

listBox.Items.Add("My new list item"); 
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); 

如果這就是所謂的重複,在添加項目前根據需要調用清除:

this.listBox1.Items.Clear();