2016-04-27 30 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)会给你正确的数字。

相关问题