2013-07-15 30 views
0

我想知道是否有一種方法來使用索引變量,而不使用for或foreach循環,就像在這個例子中(我做了什麼但不起作用): 我有3個整數數組,一個用於列表框,當我選擇列表框中的一個項目時,它將採用所選項目的索引,並在其他數組內查找該索引,並將第二個和第三個數組在文本框內,這裏是我的代碼:使用變量索引而不使用循環

if (ListBox1.SelectedItems.Count > 0) 
     { 
      TextBox1.Text = jnames[ListBox1.SelectedIndex]; 
      TextBox2.Text = enames[ListBox1.SelectedIndex]; 
     } 

沒有錯誤或異常,只是什麼都不做。

+0

該代碼非常好。當ListBox1.SelectedItems.Count爲零時它什麼也不做。那麼你的問題是什麼? –

+1

嗯,我不知道在到達下一行之前設置ListBox1.Text是否搞亂了ListBox1.SelectedItem。通過使用調試器的一步。 –

+0

它應該做「某事」。你用調試器試過了嗎? –

回答

3

SelectedItems更適合多選ListBox。您應該直接使用SelectedIndex

if (ListBox1.SelectedIndex > -1) 
    { 
     TextBox1.Text = jnames[ListBox1.SelectedIndex]; 
     TextBox2.Text = enames[ListBox1.SelectedIndex]; 
    } 

您應該學會使用調試器。在if語句中設置的斷點將顯示您是否滿足條件,以及if內的代碼是否會執行。

+0

你的解決方案實際上並沒有做一件事情,結果相同,我仍然無法從jnames和enames獲取字符串:/ textboxes仍然是空的 – Omarrrio

+0

我使用了debuger,並且是先生,If內的代碼沒有執行,但爲什麼就是它 ? 編輯:它被執行,但沒有任何反應:s – Omarrrio

+0

那麼,你告訴我。調試器顯示「ListBox1.SelectedItems.Count」的值是什麼? –