2014-02-18 71 views
-1

我正在爲我的Visual Basic類工作,需要向正確方向微調。我不打算深入到程序應該做的到底是什麼,因爲我現在還沒有真正處於這個階段。我現在堅持的步驟是這樣的。在Visual Basic中向列表框添加項目的默認數量

我們應該有兩個列表框,一個用於配料(我已經命名爲lstIngredients),第二個用於配方(lstRecipe),我們也應該有一個標籤爲Quantity的文本框供用戶輸入將多少個所選項添加到配方列表中。例如,如果用戶選擇「雞蛋」並且數量爲3,則在配方列表框中「雞蛋」應出現3次。另外,如果數量框中沒有任何內容,則應該默認將所選項目中的一個添加到配方列表框中。

用我寫的代碼,只要我在數量文本框中輸入某些內容,就可以將項目添加到配方列表中,但是當沒有輸入文本時,我無法讓程序添加一個框。這是我迄今爲止的代碼。

Public Class Form1 

    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click 
     Dim i As Integer = lstIngredients.SelectedIndex 
     If txtQuantity.text= "" Then 
      lstRecipe.Items.Add(1) 
     End If 
     Dim intCount As Integer = 0 
     While intCount < txtQuantity.Text 
      lstRecipe.Items.Add(lstIngredients.Items(i)) 
      intCount += 1 
     End While 
    End Sub 

    Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click 
     lstRecipe.Items.Clear() 
     txtQuantity.Clear() 
    End Sub 

對這一步的任何幫助將不勝感激。我相信,當我進入編碼的時候,我可能會有更多的問題,但是我會編輯這個問題,以便在時間到來時包括這些問題。

回答

1

首先,您需要將Quantity文本框中的值轉換爲整數。爲此,您可以使用Integer.ParseInteger.TryParse。例如:

Dim value As Integer = Integer.Parse(Quantity.Text) 

然後你可以使用一個For循環加同一個項目,很多時候,比如:

For x As Integer = 1 to value 
    lstRecipe.Items.Add(lstIngredients.Items(i)) 
Next 
+0

感謝您的幫助!我現在正被給出一個錯誤,指出「輸入字符串格式不正確」。在代碼的Integer.Parse(Quantity.Text)部分。關於我應該怎麼做才能解決這個問題的任何想法? –

+0

那麼,處理無效值的最好方法是使用'TryParse'。 'TryParse'方法做了一件非常相似的事情,但是它返回一個'Boolean',它表示該值是否有效。如果它返回'True',則表示它已成功解析該值。如果它返回'False',則表示該字符串包含無效值。 –

+0

我明白了。這裏是我嘗試TryParse方法時給出的錯誤,「錯誤\t 1重載解析失敗,因爲沒有可訪問的'TryParse'接受這個參數。」 –