Handling Dialogs With One Line of Code

Handling Dialogs With One Line of Code

Handle dialogs with one line of code by encapsulating the show method within the form in a public function. This makes the form/dialog reusable and simpler to implement and update. Example:

  Form: frmLogin         Option Explicit         Public Enum LoginReturns             LoginFailed = 0             LoginSuccess = 1         End Enum         Private mReturn As Long         Private mDefaultUserName As String         Public Function ShowLogin(Optional DefaultUserName As String, Optional OwnerForm) As LoginReturns             mDefaultUserName = DefaultUserName             Me.Show vbModal, OwnerForm                 ShowLogin = mReturn         End Function         Private Sub cmdLogin_Click()             If txtUserName = "user" And txtPassword = "test" Then                 mReturn = LoginSuccess                 SaveSetting App.Title, "Settings", "LastUser", txtUserName                 Unload Me             Else                 MsgBox "Invalid password/user!", vbInformation             End If         End Sub         Private Sub Form_Load()             txtUserName = mDefaultUserName         End Sub         Private Sub cmdCancel_Click()             Unload Me         End Sub Module: mdlMain [Startup: Sub Main]         Option Explicit         Public Sub Main()         Dim frmForm As frmLogin             Set frmForm = New frmLogin                 Select Case frmForm.ShowLogin(GetSetting(App.Title, "Settings", "LastUser"))             Case LoginSuccess                 MsgBox "Login: Success!", vbInformation             Case LoginFailed                 MsgBox "Login: Failed!", vbInformation             Case Else                 MsgBox "Login: Unknown!", vbInformation             End Select         End Sub 



Share the Post: