2013-07-13 38 views
2

我要在这里的所有内容都是为索引添加值。例如我有一个列表框,我把它的字符串使用collections in the properties,如果我选择索引为0的第一个字符串,然后输出一个等价的价格..获取索引并将值增加到等效索引

像这样;

Cheese cake = $200.00 
chocolate cake =$100.00 
strawberry cake =400.00 

这里是我的工作:

public void Computation(Form1 form1) { 

     String price1 = form1.listBox1.SelectedIndex.ToString(); 
     form1.listBox2.Items.Add(price1); 

    } 

这个输出的索引,但我不知道如何把价格相当于该索引。请帮忙! :)

回答

1

我假设你有一个价格阵列或其他方法来查找价格。例如,如果你的价格的数组是这样的:

decimal[] prices = new decimal[] {200, 100, 400}; 

那么你就可以改变你的代码如下:

public void Computation(Form1 form1) { 
    String price1 = prices[form1.listBox1.SelectedIndex].ToString(); 
    form1.listBox2.Items.Add(price1); 
} 

当然prices必须包含尽可能多的项目listBox1,否则你会获得“索引超出范围”例外。

+0

非常感谢你许多!我很高兴我来这里发布一个问题.. :) –

+0

我试过用组合框但它输出不同的结果:'double [] prices2 = new double [] {200.01,100.32,400.99,250.12,500.50}; ''String price2 = prices2 [form1.comboBox1.SelectedIndex] .ToString(); form1.listBox2.Items.Add(prices2);'输出'Double [] Array' –

+0

@MarilouMagat你写了'prices2'而不是'price2'。应该是'form1.listBox2.Items.Add(price2);' – dasblinkenlight

0

如果要恢复所选项目串的价格部分,你可以写

public void Computation(Form1 form1) 
{ 
    if(form1.listBox1.SelectedItem != null) 
    { 
     String row = form1.listBox1.SelectedItem.ToString(); 
     String[] parts = row.Split('='); 
     form1.listBox2.Items.Add(parts[1]); 
    } 
} 

注意事项:您框的字符串都在形式<cakename>=<price>,你的列表框SelectionModeSelectionMode.One