2013-07-13 39 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