Imports System.Windows.Forms Public Class frmMain Private m_frmEditComposer As frmEditComposer Private m_frmEditInstrumentation As frmEditInstrumentation Private m_frmEditPublisher As frmEditPublisher Private m_frmEditHymnal As frmEditHymnal Private m_frmEditBook As frmEditBook Private m_frmEditHymnTuneName As frmEditHymnTuneName Private m_frmEditHymn As frmEditHymn Private m_frmEditWork As frmEditWork Private Function OpenDatabaseConnection() As Boolean Try MyGlobals.g_objDatabaseLayer = New clsDatabaseLayer Return MyGlobals.g_objDatabaseLayer.OpenDatabaseConnection() Catch Return False End Try End Function Private Function CloseDatabaseConnection() As Boolean Try Return MyGlobals.g_objDatabaseLayer.CloseDatabaseConnection() Catch Return False End Try End Function Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not OpenDatabaseConnection() Then MessageBox.Show("Error connecting to database", "Database error", MessageBoxButtons.OK, MessageBoxIcon.Error) Me.Close() End If End Sub Public Sub DisableMenus() mnuFile.Enabled = False mnuEdit.Enabled = False End Sub Public Sub EnableMenus() mnuFile.Enabled = True mnuEdit.Enabled = True End Sub Private Sub mnuEditComposer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditComposer.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() m_frmEditComposer = New frmEditComposer m_frmEditComposer.MdiParent = Me m_frmEditComposer.Show() Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditPublisher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditPublisher.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditPublisher Is Nothing OrElse m_frmEditPublisher.IsDisposed Then m_frmEditPublisher = New frmEditPublisher m_frmEditPublisher.MdiParent = Me m_frmEditPublisher.Show() Else m_frmEditPublisher.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditHymnal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditHymnal.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditHymnal Is Nothing OrElse m_frmEditHymnal.IsDisposed Then m_frmEditHymnal = New frmEditHymnal m_frmEditHymnal.MdiParent = Me m_frmEditHymnal.Show() Else m_frmEditHymnal.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditBook_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditBook.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditBook Is Nothing OrElse m_frmEditBook.IsDisposed Then m_frmEditBook = New frmEditBook m_frmEditBook.MdiParent = Me m_frmEditBook.Show() Else m_frmEditBook.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditHymnTuneNames_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditHymnTuneNames.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditHymnTuneName Is Nothing OrElse m_frmEditHymnTuneName.IsDisposed Then m_frmEditHymnTuneName = New frmEditHymnTuneName m_frmEditHymnTuneName.MdiParent = Me m_frmEditHymnTuneName.Show() Else m_frmEditHymnTuneName.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditHymn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditHymn.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditHymn Is Nothing OrElse m_frmEditHymn.IsDisposed Then m_frmEditHymn = New frmEditHymn m_frmEditHymn.MdiParent = Me m_frmEditHymn.Show() Else m_frmEditHymn.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditWork_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditWork.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() If m_frmEditWork Is Nothing OrElse m_frmEditWork.IsDisposed Then m_frmEditWork = New frmEditWork m_frmEditWork.MdiParent = Me m_frmEditWork.Show() Else m_frmEditWork.Activate() End If Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuFileExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFileExit.Click Me.Close() End Sub Private Sub mnuGenerateWebSite_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuGenerateWebSite.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() modGenerateWebSite.GenerateWebSite() Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub mnuEditInstrumentations_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuEditInstrumentations.Click Me.Cursor = System.Windows.Forms.Cursors.WaitCursor CloseAllEditWindows() m_frmEditInstrumentation = New frmEditInstrumentation m_frmEditInstrumentation.MdiParent = Me m_frmEditInstrumentation.Show() Me.Cursor = System.Windows.Forms.Cursors.Default End Sub Private Sub CloseAllEditWindows() CloseWindow(m_frmEditBook) CloseWindow(m_frmEditComposer) CloseWindow(m_frmEditHymn) CloseWindow(m_frmEditHymnal) CloseWindow(m_frmEditHymnTuneName) CloseWindow(m_frmEditInstrumentation) CloseWindow(m_frmEditPublisher) CloseWindow(m_frmEditWork) End Sub Private Sub CloseWindow(ByVal objWindow As System.Windows.Forms.Form) If objWindow Is Nothing OrElse objWindow.IsDisposed Then Else objWindow.Close() End If End Sub End Class