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 


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist