2011-09-13 40 views
-1

我在這裏有一個奇怪的問題。我有一個子循環內的For循環,並且在它下面有一個MessageBox函數。所有東西都編譯正確,但是由於某種原因,如果循環執行併成功退出,那麼FOR之外和之下的任何內容都不會被執行。For循環後面的代碼將不會執行 - VB.NET

Public Sub Example() 
    For i = 0 To 9 
     ListBox.Items.Add(i.ToString) 
    Next 

    MessageBox.Show("Done") 'This doesn't execute 
    Beep()      'Doesn't either 
    Label.Text = "Done"  'etc. 
End Sub 

是的,它之後只顯示列表框中的10個項目。

我到處搜索過,但沒有找到與此類問題相關的任何內容。 我有點困惑,任何人都知道發生了什麼?

編輯:忘了指定,子實際上是一個TextBox.TextChanged事件

+1

我剛剛在一個VB.net應用程序中嘗試過它,並且我在按鈕單擊時調用了Example()函數,並且它按預期工作。消息框顯示,聽到嘟嘟聲並且標籤文字改變。你如何調用Example()函數?你也可以嘗試在循環的開始處用斷點調試調試器來查看執行被切斷的位置。 – danishgoel

+0

對我來說它工作得很好 – SwissGuy

+0

我想我發現了這個問題,看來ListBox.Items.Add在最後一次迭代中包含一個空值。修復看似解決它。我不知道爲什麼它不會停止執行並返回一個錯誤(這裏是新手)。感謝您的幫助,認爲。 – AgentRev

回答

1

看來ListBox.Items.Add包含在最後迭代空值。修復看似解決它。我不知道爲什麼它不會停止執行並返回一個錯誤(這裏是新手)。

+1

哪個去顯示張貼*真實*代碼片段是非常重要的。刪除Try/Catch語句。 –