Visual Basic .NET。通过goto语句跳转功能

时间:2013-08-15 02:38:38

标签: vb.net vba goto

我正在学习Visual Basic .NET,我对goto语句

有疑问

我想通过点击按钮跳转功能。

例如,我们有UI形式,有一个按钮“停止”,有两个功能“第一”和“第二”。

我可以在运行功能“一”或“两个”中间 当用户单击UI_BT_SAVE_RS按钮时,只需跳过一个或两个函数并结束。

我想知道当用户点击UI_BT_SAVE_RS按钮时跳过两个功能

例如,

在UI形式中,我们有按钮事件和两个功能

    Private Sub UI_BT_SAVE_RS_Click(sender As Object, e As EventArgs) Handles UI_BT_SAVE_RS.Click
// if user click this button then go to skipped: in the one_two()

End Sub

public sub one_two()
one() // just function name
two() // just function name
skipped:
end sub

当用户点击UI_BT_SAVE_RS按钮时,我想跳过一个和两个函数并转到结束“跳过”

无论如何,是否通过按钮点击事件跳过并转到某些部分代码?

感谢

2 个答案:

答案 0 :(得分:1)

不要在代码中使用goto或标签,而是将skipped标签中的任何内容改为UI_BT_SAVE_RS_Click事件处理程序调用的单独函数/子。

更新:

例如,如果你有3种方法; one()two()three(),如下所示:

Private Function one() As String
    Return "one"
End Function

Private Function two() As String
    Return "two"
End Function

Private Function three() As String
    Return "three"
End Function

现在您希望按钮点击事件处理程序方法调用one()three(),然后您只需调用每个函数,如下所示:

Private Sub UI_BT_SAVE_RS_Click(sender As Object, e As EventArgs) Handles UI_BT_SAVE_RS.Click
    Dim returnValue As String = one()
    Dim returnValue2 As String = three()
End Sub

注意:这使控件可以调用您想要的one()two()three()逻辑的任何排列。

答案 1 :(得分:0)

您可以使用全局变量来检查每次调用一个()和两个(),或者只检查两次。在一两个中,您也可以检查该var,以便在需要时退出。

Public DoStuff as Boolean = True

Private Sub UI_BT_SAVE_RS_Click(sender As Object, e As EventArgs) Handles UI_BT_SAVE_RS.Click
    DoStuff = False
End Sub

Public Sub one_two()
    If DoStuff = True then one() // just function name
    If DoStuff = True then two() // just function name
End Sub