2016-04-27 33 views
0

我有帶年份編號的文本文件,然後有一行返回另一個編號。選擇一個數組中的特定項目vb

Year 1991 
8 
Year 1990 
14 

一個數組攜帶年份數字,另一個數字攜帶下面的數字。

strYear(intCount) = objReader.ReadLine() 
dblSum(intCount) = Convert.ToDouble(objReader.ReadLine()) 

用戶從組合框中選擇年份,然後輸出它我只是不知道如何從所選年份輸出表觀數字。

回答

2

您可以使用ComboBoxSelectedIndex作爲數組的索引。

Dim sum = dblSum(myComboBox.SelectedIndex) 

這就是說,與其做這樣的說法,爲什麼不都值添加到一個對象,把這些對象的列表,然後綁定該列表到ComboBox。然後您可以直接從ComboBoxSelectedValue屬性中獲得總和值。例如。

Dim items As New List(Of Tuple(Of String, Double)) 

'... 

items.Add(Tuple.Create(objReader.ReadLine(), Convert.ToDouble(objReader.ReadLine())) 

'... 

With myComboBox 
    .DisplayMember = "Item1" 
    .ValueMember = "Item2" 
    .DataSource = items 
End With 

'... 

Dim sum = CDbl(myComboBox.SelectedValue) 

在這裏使用元組很方便,但如果您願意,可以使用自己的類或結構。

0

當你正在閱讀從文本文件到兩個數組(第一個,第二個數組)的交替行時,第二個數組數組中的索引應該與第一個數組中的索引相同。

如果第一個年份數組用於直接填充您的組合框,則選定的組合索引也將成爲與所選年份關聯的數字數組索引。

所以dblSum(myComboBox.SelectedIndex)會給你正確的數字。

相關問題