482 lines
20 KiB
VB.net
482 lines
20 KiB
VB.net
Imports System.Windows.Forms
|
|
|
|
Public Class frmEditHymn
|
|
Inherits OrganLit.BaseEditForm
|
|
|
|
Private mobjDetailHymn As New clsHymn
|
|
Private m_objHymnTuneNamesHash As Hashtable
|
|
|
|
#Region " Windows Form Designer generated code "
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
|
|
'This call is required by the Windows Form Designer.
|
|
InitializeComponent()
|
|
|
|
'Add any initialization after the InitializeComponent() call
|
|
|
|
End Sub
|
|
|
|
'Form overrides dispose to clean up the component list.
|
|
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
|
|
If disposing Then
|
|
If Not (components Is Nothing) Then
|
|
components.Dispose()
|
|
End If
|
|
End If
|
|
MyBase.Dispose(disposing)
|
|
End Sub
|
|
|
|
'Required by the Windows Form Designer
|
|
Private components As System.ComponentModel.IContainer
|
|
|
|
'NOTE: The following procedure is required by the Windows Form Designer
|
|
'It can be modified using the Windows Form Designer.
|
|
'Do not modify it using the code editor.
|
|
Friend WithEvents lblHymnName As Windows.Forms.Label
|
|
Friend WithEvents txtHymnName As Windows.Forms.TextBox
|
|
Friend WithEvents lblHymnTuneName As Windows.Forms.Label
|
|
Friend WithEvents cboHymnTuneName As ComboTypeAhead.ComboTypeAhead
|
|
Friend WithEvents lblHymnal As Windows.Forms.Label
|
|
Friend WithEvents lblHymnNumber As Windows.Forms.Label
|
|
Friend WithEvents txtHymnNumber As Windows.Forms.TextBox
|
|
Friend WithEvents cboHymnal As Windows.Forms.ComboBox
|
|
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
|
|
Me.lblHymnName = New Windows.Forms.Label
|
|
Me.txtHymnName = New Windows.Forms.TextBox
|
|
Me.lblHymnal = New Windows.Forms.Label
|
|
Me.lblHymnTuneName = New Windows.Forms.Label
|
|
Me.cboHymnTuneName = New ComboTypeAhead.ComboTypeAhead
|
|
Me.lblHymnNumber = New Windows.Forms.Label
|
|
Me.txtHymnNumber = New Windows.Forms.TextBox
|
|
Me.cboHymnal = New Windows.Forms.ComboBox
|
|
Me.fraAddEdit.SuspendLayout()
|
|
Me.SuspendLayout()
|
|
'
|
|
'fraAddEdit
|
|
'
|
|
Me.fraAddEdit.Controls.Add(Me.cboHymnal)
|
|
Me.fraAddEdit.Controls.Add(Me.txtHymnNumber)
|
|
Me.fraAddEdit.Controls.Add(Me.lblHymnNumber)
|
|
Me.fraAddEdit.Controls.Add(Me.cboHymnTuneName)
|
|
Me.fraAddEdit.Controls.Add(Me.lblHymnTuneName)
|
|
Me.fraAddEdit.Controls.Add(Me.lblHymnal)
|
|
Me.fraAddEdit.Controls.Add(Me.txtHymnName)
|
|
Me.fraAddEdit.Controls.Add(Me.lblHymnName)
|
|
Me.fraAddEdit.Location = New System.Drawing.Point(10, 475)
|
|
Me.fraAddEdit.Size = New System.Drawing.Size(1064, 117)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.lblHymnName, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.txtHymnName, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.lblHymnal, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.lblHymnTuneName, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.cboHymnTuneName, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.lblHymnNumber, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.txtHymnNumber, 0)
|
|
Me.fraAddEdit.Controls.SetChildIndex(Me.cboHymnal, 0)
|
|
'
|
|
'lblHymnName
|
|
'
|
|
Me.lblHymnName.Location = New System.Drawing.Point(16, 64)
|
|
Me.lblHymnName.Name = "lblHymnName"
|
|
Me.lblHymnName.Size = New System.Drawing.Size(96, 16)
|
|
Me.lblHymnName.TabIndex = 4
|
|
Me.lblHymnName.Text = "Hymn Name"
|
|
'
|
|
'txtHymnName
|
|
'
|
|
Me.txtHymnName.Location = New System.Drawing.Point(112, 64)
|
|
Me.txtHymnName.Name = "txtHymnName"
|
|
Me.txtHymnName.Size = New System.Drawing.Size(424, 20)
|
|
Me.txtHymnName.TabIndex = 5
|
|
'
|
|
'lblHymnal
|
|
'
|
|
Me.lblHymnal.Location = New System.Drawing.Point(16, 16)
|
|
Me.lblHymnal.Name = "lblHymnal"
|
|
Me.lblHymnal.Size = New System.Drawing.Size(80, 16)
|
|
Me.lblHymnal.TabIndex = 0
|
|
Me.lblHymnal.Text = "Hymnal"
|
|
'
|
|
'lblHymnTuneName
|
|
'
|
|
Me.lblHymnTuneName.Location = New System.Drawing.Point(16, 88)
|
|
Me.lblHymnTuneName.Name = "lblHymnTuneName"
|
|
Me.lblHymnTuneName.Size = New System.Drawing.Size(96, 16)
|
|
Me.lblHymnTuneName.TabIndex = 6
|
|
Me.lblHymnTuneName.Text = "Hymn Tune Name"
|
|
'
|
|
'cboHymnTuneName
|
|
'
|
|
Me.cboHymnTuneName.Location = New System.Drawing.Point(112, 88)
|
|
Me.cboHymnTuneName.Name = "cboHymnTuneName"
|
|
Me.cboHymnTuneName.Size = New System.Drawing.Size(288, 21)
|
|
Me.cboHymnTuneName.Sorted = True
|
|
Me.cboHymnTuneName.TabIndex = 7
|
|
'
|
|
'lblHymnNumber
|
|
'
|
|
Me.lblHymnNumber.Location = New System.Drawing.Point(16, 40)
|
|
Me.lblHymnNumber.Name = "lblHymnNumber"
|
|
Me.lblHymnNumber.Size = New System.Drawing.Size(80, 16)
|
|
Me.lblHymnNumber.TabIndex = 2
|
|
Me.lblHymnNumber.Text = "Hymn Number"
|
|
'
|
|
'txtHymnNumber
|
|
'
|
|
Me.txtHymnNumber.Location = New System.Drawing.Point(112, 40)
|
|
Me.txtHymnNumber.Name = "txtHymnNumber"
|
|
Me.txtHymnNumber.Size = New System.Drawing.Size(64, 20)
|
|
Me.txtHymnNumber.TabIndex = 3
|
|
'
|
|
'cboHymnal
|
|
'
|
|
Me.cboHymnal.DropDownStyle = Windows.Forms.ComboBoxStyle.DropDownList
|
|
Me.cboHymnal.Location = New System.Drawing.Point(112, 16)
|
|
Me.cboHymnal.Name = "cboHymnal"
|
|
Me.cboHymnal.Size = New System.Drawing.Size(424, 21)
|
|
Me.cboHymnal.Sorted = True
|
|
Me.cboHymnal.TabIndex = 1
|
|
'
|
|
'frmEditHymn
|
|
'
|
|
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
|
|
Me.ClientSize = New System.Drawing.Size(1080, 598)
|
|
Me.Name = "frmEditHymn"
|
|
Me.StartPosition = Windows.Forms.FormStartPosition.Manual
|
|
Me.Text = "Edit Hymn"
|
|
Me.fraAddEdit.ResumeLayout(False)
|
|
Me.fraAddEdit.PerformLayout()
|
|
Me.ResumeLayout(False)
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Protected Overrides Sub LoadExistingItemsList()
|
|
Dim lobjHymn As clsHymn
|
|
Dim lobjHymns As System.Collections.Generic.List(Of clsHymn)
|
|
|
|
SetUpExistingItemsHeaders()
|
|
|
|
lobjHymns = clsHymn.GetAllHymns
|
|
|
|
Me.ExistingItemsListSuspendLayout()
|
|
For Each lobjHymn In lobjHymns
|
|
Me.ExistingObjectsListItems.Add(ConvertHymnToListViewItem(lobjHymn))
|
|
Next
|
|
|
|
Me.ExistingItemsListResumeLayout()
|
|
End Sub
|
|
|
|
Private Sub SetUpExistingItemsHeaders()
|
|
Me.ExistingObjectsListColumns.Add("Hymnal", 100, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Hymn Number", 100, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Hymn Name", 400, HorizontalAlignment.Left)
|
|
Me.ExistingObjectsListColumns.Add("Hymn Tune Name", 200, HorizontalAlignment.Left)
|
|
|
|
'Set up sorting rules
|
|
Dim lobjBaseEditFormColumnSortRules(3) As clsGridColumnSortRule
|
|
|
|
'First column, sort by Hymnal, then Hymn Number
|
|
lobjBaseEditFormColumnSortRules(0) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(0).SubColumnSort = New clsGridSubColumnSortRule(1, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing)
|
|
'Second column, sort by Hymnal, then Hymn Number
|
|
lobjBaseEditFormColumnSortRules(1) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortNone)
|
|
lobjBaseEditFormColumnSortRules(1).SubColumnSort = New clsGridSubColumnSortRule(0, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(1, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing))
|
|
'Third column, sort by Hymn name, then Hymnal and Hymn Number
|
|
lobjBaseEditFormColumnSortRules(2) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(2).SubColumnSort = New clsGridSubColumnSortRule(0, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(1, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing))
|
|
'Fourth column, sort by Hymn Tune name, then Hymn Name, Hymnal and Hymn Number
|
|
lobjBaseEditFormColumnSortRules(3) = New clsGridColumnSortRule(clsGridColumnSortRule.enumSortType.SortAsString)
|
|
lobjBaseEditFormColumnSortRules(3).SubColumnSort = New clsGridSubColumnSortRule(2, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(0, clsGridSubColumnSortRule.enumSortType.SortAsString, New clsGridSubColumnSortRule(1, clsGridSubColumnSortRule.enumSortType.SortAsNumber, Nothing)))
|
|
|
|
MyBaseEditFormColumnSortRules = lobjBaseEditFormColumnSortRules
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub InitializeDetailControls()
|
|
'Load data to detail controls here at form load time
|
|
txtHymnName.MaxLength = MyGlobals.HYMN_NAME_SIZE
|
|
cboHymnTuneName.MaxLength = MyGlobals.HYMN_TUNE_NAME_SIZE
|
|
|
|
txtHymnNumber.Text = ""
|
|
txtHymnName.Text = ""
|
|
|
|
'Only set up hymnal if first time in
|
|
If cboHymnal.Items.Count = 0 Then
|
|
Dim objHymnal As clsHymnal
|
|
Dim objHymnals As System.Collections.Generic.List(Of clsHymnal)
|
|
|
|
Me.cboHymnal.Items.Clear()
|
|
|
|
objHymnals = clsHymnal.GetAllHymnals
|
|
For Each objHymnal In objHymnals
|
|
Me.cboHymnal.Items.Add(objHymnal)
|
|
Next
|
|
|
|
'Select first hymnal if there is one
|
|
If Me.cboHymnal.Items.Count > 0 Then
|
|
Me.cboHymnal.SelectedIndex = 0
|
|
End If
|
|
End If
|
|
|
|
If cboHymnTuneName.Items.Count = 0 Then
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Dim objHymnTuneNames As System.Collections.Generic.List(Of clsHymnTuneName)
|
|
'Dim objObject As Object
|
|
|
|
Me.cboHymnTuneName.Items.Clear()
|
|
m_objHymnTuneNamesHash = New Hashtable
|
|
|
|
objHymnTuneNames = clsHymnTuneName.GetAllHymnTuneNames
|
|
For Each objHymnTuneName In objHymnTuneNames
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub SetFocusToFirstDetailControlForEdit()
|
|
cboHymnal.Focus()
|
|
End Sub
|
|
|
|
Protected Overrides Function DetailControlsHaveDifferentDataThanExistingData(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjSavedHymn As clsHymn
|
|
Dim lblnReturnValue As Boolean = False
|
|
|
|
lobjSavedHymn = CType(lstvwExistingItem.Tag, clsHymn)
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
End If
|
|
End Select
|
|
|
|
mobjDetailHymn.HymnNumberAsString = txtHymnNumber.Text
|
|
mobjDetailHymn.HymnName = txtHymnName.Text
|
|
mobjDetailHymn.Hymnal = CType(cboHymnal.SelectedItem, clsHymnal)
|
|
mobjDetailHymn.HymnTuneName = objHymnTuneName
|
|
|
|
If lobjSavedHymn.StateIsIdentical(mobjDetailHymn) Then
|
|
Return False
|
|
Else
|
|
Return True
|
|
End If
|
|
End Function
|
|
|
|
Protected Overrides Function DetailControlsHaveSignificantData() As Boolean
|
|
If txtHymnName.Text.Trim.Length > 0 _
|
|
OrElse txtHymnNumber.Text.Trim.Length > 0 Then
|
|
Return True
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Protected Overrides Sub EmptyOutDetailControls()
|
|
InitializeDetailControls()
|
|
txtHymnNumber.Text = ""
|
|
txtHymnName.Text = ""
|
|
cboHymnTuneName.Text = ""
|
|
|
|
mobjDetailHymn = New clsHymn
|
|
End Sub
|
|
|
|
Protected Overrides Function LoadExistingDataToDetailControls(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjHymn As clsHymn
|
|
Dim lblnReturnValue As Boolean = False
|
|
lobjHymn = CType(lstvwExistingItem.Tag, clsHymn)
|
|
txtHymnNumber.Text = lobjHymn.HymnNumberAsString
|
|
txtHymnName.Text = lobjHymn.HymnName
|
|
|
|
cboHymnal.Text = lobjHymn.Hymnal.ToString
|
|
|
|
If lobjHymn.HymnTuneName Is Nothing Then
|
|
cboHymnTuneName.Text = MyGlobals.NONE_STRING
|
|
Else
|
|
cboHymnTuneName.Text = lobjHymn.HymnTuneName.HymnTuneName
|
|
End If
|
|
|
|
mobjDetailHymn = CType(lobjHymn.Clone(), clsHymn)
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function ConfirmOKToDeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjHymn As clsHymn
|
|
Dim lstrReferencedBy As String = ""
|
|
|
|
lobjHymn = CType(lstvwItemToDelete.Tag, clsHymn)
|
|
|
|
If Not lobjHymn.OKToDelete(lstrReferencedBy) Then
|
|
MessageBox.Show("Can't delete hymn: " + lobjHymn.ToString + ". Currently used by " + lstrReferencedBy + ".", "Unable to delete", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
|
|
Return False
|
|
End If
|
|
|
|
Dim ldrDialogResult As DialogResult = MessageBox.Show("Are you sure you want to delete hymn: " + lobjHymn.ToString + "?", "Delete confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2)
|
|
If ldrDialogResult = Windows.Forms.DialogResult.No Then
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Function DeleteExistingItem(ByVal lstvwItemToDelete As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lobjHymn As clsHymn
|
|
lobjHymn = CType(lstvwItemToDelete.Tag, clsHymn)
|
|
|
|
Return lobjHymn.Delete()
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewItem() As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
Dim lblnAddedNewHymnTuneName As Boolean
|
|
|
|
lblnAddedNewHymnTuneName = False
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
lblnAddedNewHymnTuneName = True
|
|
End If
|
|
End Select
|
|
|
|
mobjDetailHymn.HymnNumberAsString = txtHymnNumber.Text
|
|
mobjDetailHymn.HymnName = txtHymnName.Text
|
|
mobjDetailHymn.Hymnal = CType(cboHymnal.SelectedItem, clsHymnal)
|
|
mobjDetailHymn.HymnTuneName = objHymnTuneName
|
|
|
|
If Not mobjDetailHymn.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailHymn.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Add(ConvertHymnToListViewItem(mobjDetailHymn))
|
|
|
|
If lblnAddedNewHymnTuneName Then
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Protected Overrides Sub UserRequestedToExit()
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Protected Overrides Sub EditOrAddStarting()
|
|
CType(Me.ParentForm, frmMain).DisableMenus()
|
|
End Sub
|
|
Protected Overrides Sub EditOrAddCompleted()
|
|
CType(Me.ParentForm, frmMain).EnableMenus()
|
|
End Sub
|
|
|
|
Private Function ConvertHymnToListViewItem(ByVal lobjHymn As clsHymn) As ListViewItem
|
|
Dim lobjItem As ListViewItem
|
|
|
|
If lobjHymn.Hymnal Is Nothing Then
|
|
lobjItem = New ListViewItem("")
|
|
Else
|
|
lobjItem = New ListViewItem(lobjHymn.Hymnal.HymnalAbbreviation)
|
|
End If
|
|
|
|
lobjItem.SubItems.Add(lobjHymn.HymnNumberAsString)
|
|
lobjItem.SubItems.Add(lobjHymn.HymnName)
|
|
|
|
If lobjHymn.HymnTuneName Is Nothing Then
|
|
lobjItem.SubItems.Add(MyGlobals.NONE_STRING)
|
|
Else
|
|
lobjItem.SubItems.Add(lobjHymn.HymnTuneName.HymnTuneName)
|
|
End If
|
|
|
|
lobjItem.Tag = lobjHymn
|
|
|
|
Return lobjItem
|
|
|
|
End Function
|
|
|
|
Protected Overrides Function SaveNewDataForExistingItem(ByVal lstvwExistingItem As Windows.Forms.ListViewItem) As Boolean
|
|
Dim lstrErrorString As String = ""
|
|
Dim lblnAddedNewHymnTuneName As Boolean
|
|
|
|
lblnAddedNewHymnTuneName = False
|
|
|
|
Dim objHymnTuneName As clsHymnTuneName
|
|
Select Case cboHymnTuneName.Text.ToUpper.Trim
|
|
Case MyGlobals.NONE_STRING.ToUpper, ""
|
|
objHymnTuneName = Nothing
|
|
Case Else
|
|
objHymnTuneName = CType(MyGlobals.GetItemFromHashWithStringKey(cboHymnTuneName.Text.ToUpper.Trim, m_objHymnTuneNamesHash), clsHymnTuneName)
|
|
If objHymnTuneName Is Nothing Then
|
|
objHymnTuneName = New clsHymnTuneName(cboHymnTuneName.Text.Trim)
|
|
lblnAddedNewHymnTuneName = True
|
|
End If
|
|
End Select
|
|
|
|
mobjDetailHymn.HymnNumberAsString = txtHymnNumber.Text
|
|
mobjDetailHymn.HymnName = txtHymnName.Text
|
|
mobjDetailHymn.Hymnal = CType(cboHymnal.SelectedItem, clsHymnal)
|
|
mobjDetailHymn.HymnTuneName = objHymnTuneName
|
|
|
|
If Not mobjDetailHymn.Validate(lstrErrorString) Then
|
|
MessageBox.Show(lstrErrorString, "Edit Error", MessageBoxButtons.OK, MessageBoxIcon.Warning)
|
|
Return False
|
|
End If
|
|
|
|
If Not mobjDetailHymn.Save() Then
|
|
Return False
|
|
End If
|
|
|
|
Me.ExistingObjectsListItems.Remove(lstvwExistingItem)
|
|
Me.ExistingObjectsListItems.Add(ConvertHymnToListViewItem(mobjDetailHymn))
|
|
|
|
If lblnAddedNewHymnTuneName Then
|
|
AddHymnTuneNameToForm(objHymnTuneName)
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
Private Sub txtHymnName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHymnName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboHymnTuneName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboHymnTuneName.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub txtHymnNumber_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHymnNumber.TextChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub cboHymnal_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboHymnal.SelectedIndexChanged
|
|
MyBase.DetailDataHasChanged()
|
|
End Sub
|
|
|
|
Private Sub txtHymnNumber_KeyPress(ByVal sender As Object, ByVal e As Windows.Forms.KeyPressEventArgs) Handles txtHymnNumber.KeyPress
|
|
If Not MyGlobals.AllowKeypressInNumericTextBox(e.KeyChar) Then
|
|
e.Handled = True
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub AddHymnTuneNameToForm(ByVal objHymnTuneName As clsHymnTuneName)
|
|
Me.cboHymnTuneName.Items.Add(objHymnTuneName.HymnTuneName)
|
|
m_objHymnTuneNamesHash.Add(objHymnTuneName.HymnTuneName.ToUpper, objHymnTuneName)
|
|
End Sub
|
|
|
|
End Class
|