2010-12-18 18 views
3

我使用vs 2008 .. 我在vb.net創建一個Windows窗體應用程序 我想要幫助.........如果我退出使用 EXIT SUB然後在* bt_Ok_Click *子子* check_fill_for_New()*不火一個MsgBox ......但它也將退出在半退出呼叫子使用當前子代碼的一半

Public Sub check_fill_for_New()  
    If tb_UserName.Text = "" Then   
     MsgBox("Please Insert User Name Field", MsgBoxStyle.OkOnly, "Error")   
     tb_UserName.Focus()   
     Exit Sub  
    End If 
End Sub  

Private Sub bt_Ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Ok.Click     
    If maintain_department = "Admin" Then     
     Call check_fill_for_New()        
     MsgBox("nooooooooo")   
    End If 
End Sub 

回答

6

你需要一個函數將返回一個結果表明您是否要繼續從您的調用過程。

Public Function check_fill_for_New() as Boolean 
    If tb_UserName.Text = "" Then   
     MsgBox("Please Insert User Name Field", _ 
       MsgBoxStyle.OkOnly,_ 
       "Error") 

     tb_UserName.Focus()   
     return True 
    Else 
     return False 
    End If 
End Sub 


Private Sub bt_Ok_Click(ByVal sender As System.Object, _ 
         ByVal e As System.EventArgs) Handles bt_Ok.Click 

    If maintain_department = "Admin" Then 
     If (check_fill_for_New()) Then 
      MsgBox("nooooooooo")   
     End If 
    End If 
End Sub 

旁註:看來,作爲您的命名約定是不是與.NET Framework標準則可能是新的VB.NET。看看這裏的VB.NET編碼約定:http://msdn.microsoft.com/en-us/library/h63fsef3.aspx