2017-03-11 65 views
-2
Private Sub go_Click(sender As Object, e As EventArgs) Handles go.Click  
    Dim intCount As Integer ' Loop Counter  
    ' Move the image across the form 
    For intCount = 350 To 20 Step -1 
     PictureBox1.Left = intCount 
    Next 
End Sub 

我需要有用戶輸入多少次我需要運行該循環。只需尋找一些方向我該如何去寫一個基於用戶輸入的循環?

+0

而不是立即發佈問題,你應該嘗試看看你是否可以找到類似的問題,並嘗試自己解決問題。 – Armin

+0

downvote原因「這個問題沒有顯示任何研究努力」 – TessellatingHeckler

+0

我搜索了,但我找不到任何與用戶輸入有關多少次運行循環。它的一個普遍的問題搜索「for循環用戶輸入vb」給了我一堆例子。用戶輸入找不到嵌套循環中的任何內容。 – ryguy

回答

0

您需要做的是捕獲用戶輸入,並將其轉換爲數字,然後將該變量用於外部循環。例如,您可以在表單中包含一個文本框,用於接收用戶輸入。

爲了有一個嵌套循環(即在另一個循環內部運行的循環)。你需要2個計數器。

外循環將運行指定的最大數量的總和,但內循環將運行指定給外循環的最大數量的最大數量的總數。

因此,舉例來說,如果你有環路設置了這種方式:

// Loop from 1 to 5 
//  Loop from 1 to 10 

你的外循環將執行5次,因爲你的內部循環需要執行10倍,但它的另一循環內。內循環的總運行時間將爲5 * 10

下面是幫助您解決的代碼。

Private Sub go_Click(sender As Object, e As EventArgs) Handles go.Click 

    Dim intCount As Integer ' Loop Counter 
    Dim intOuterCount As Interger 
    Dim intMax As Interger 

    intMax = Integer.Parse(TextBox.Text) 

    ' Move the image across the form 
    For intOuterCount = 1 To intMax Step +1 
     For intCount = 350 To 20 Step -1 
      PictureBox1.Left = intCount 
     Next intCount 
    Next intOuterCount 
End Sub 

請注意,TextBox將無論您命名您的文本框控件是什麼。

+0

我試圖運行我已經創建的循環。它將圖框從左向右運行。如果用戶輸入100,我需要它多次運行循環 – ryguy

+0

不,我只需要再次從左到右運行它。編輯:圖片是在右邊,它的左邊 – ryguy

+0

是的,幫助。你能解釋一下這個循環嗎?謝謝。我得到它添加的是因爲它嵌套在它的外部,這就是爲什麼它知道它運行X次? – ryguy

0

對於這個答案,我假設你使用WinForms來創建你的UI。

您可以創建一個TextBox組件並依賴其屬性Text。一旦檢索到文本,它就需要被轉換爲一個整數,以便在For循環中使用。它可以使用Int32.Parse進行轉換。

相關問題