2016-05-18 6 views
0

別の関数に切り詰める関数を持たせることは可能でしょうか?そのステップが完了すると、再び最初の関数に戻ります。あなたはこのような何かを行う場合別のサブを呼び出してから最初のサブに戻って続行する(vb.net)

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     msgbox("Hello step 1") 

     Call SECONDSTEP() 

     msgbox("Hello step3") 
end sub 
+0

SECONDSTEP()内のコードは –

+0

です。ネストされたサブコントロールからコントロールが戻ってきたとどう結論しましたか? – user6144226

+0

'Call'を無視してください。これは完全に不要で、部分的にはVB6から残っています。 –

答えて

3

実行は常に関数呼び出しに戻ります。この例では、step1、step2、step3の順番で3つのメッセージボックスが表示されます。しかし、サブ関数にclose()が含まれていると、実行は呼び出し関数に戻りません。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     MsgBox("step 1") 

     Call SECONDSTEP() 

     MsgBox("step3") 
    End Sub 

    Private Sub SECONDSTEP() 
     MsgBox("step2") 
    End Sub 
+0

まあ私はそれがされた潜水艦をswichとき私は思うよ... – TM80

3

まあ、::現時点では私だけ別のサブに切り替えるが、私は 例をしたところ戻って継続することはできません

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     msgbox("Hello step 1") 

     Dim a As Integer 
     a = GiveMeSomeAnswers(21,2) 

     msgbox("The answer is"& a) 
End Sub 

Private Function GiveMeSomeAnswers(x As Integer, y As Integer) As Integer 

    Return x*y 

End Sub 

は、最初のメッセージボックスを実行する場合(Hello Step 1)、次にxとyを乗算して最初のメソッドに戻り、(答えは42)という2番目のメッセージボックスを返す、 という2番目の関数を実行します。

+0

それは良い点もJaggenSWE ...しかし、私はただ1つの答えを受け入れることができます:) – TM80

関連する問題