2011-09-13 60 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语句。 –