Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Beginner
Jan 3, 2001

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", 
                Unload Me 
                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 
Andreas Hillqvist
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date