Grüße,
ich betreue eine Haussoftware und habe Standardfunktionen für das Speichern und Schließen einer Form. Es gibt die Knöpfe "Speichern&Schließen", "Speichern" und "Schließen". Hier im folgenden der Code den ich momentan in jede Form Copy&Paste, in der er benötigt wird:
Spoiler anzeigen
Ich würde nun gerne eine Möglichkeit schaffen, insofern benötigt, der Form in irgendeiner Weise mitzuteilen, dieses Standardverhalten einzuhalten. Dazu muss ich der Form (hier
Wie kann ich das anstellen?
ich betreue eine Haussoftware und habe Standardfunktionen für das Speichern und Schließen einer Form. Es gibt die Knöpfe "Speichern&Schließen", "Speichern" und "Schließen". Hier im folgenden der Code den ich momentan in jede Form Copy&Paste, in der er benötigt wird:
VB.NET-Quellcode
-
- Private Sub btnSpeichernUndSchliessen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichernUndSchliessen.Click
- Speichern()
- Me.Close()
- End Sub
- Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click
- Speichern()
- End Sub
- Private Sub btnSchliessen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSchliessen.Click
- Me.Close()
- End Sub
- Private Sub FormABC_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
- If e.CloseReason = CloseReason.TaskManagerClosing OrElse e.CloseReason = CloseReason.WindowsShutDown OrElse e.CloseReason = CloseReason.None Then
- mDaten.RejectChanges()
- Else
- If Not SpeicherDialog() Then e.Cancel = True
- End If
- End Sub
- Private Function SpeicherDialog() As Boolean
- If mDaten.GetChanges Is Nothing Then Return True
- Select Case MessageBox.Show("Möchten Sie Ihre Änderungen speichern? Alle ungespeicherten Änderungen gehen verloren.", Me.Text, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
- Case DialogResult.Yes
- Speichern()
- Return True
- Case DialogResult.No
- mDaten.RejectChanges()
- Return True
- Case DialogResult.Cancel
- Return False
- End Select
- Return False
- End Function
- Private Sub Speichern()
- If mDaten.GetChanges Is Nothing Then Exit Sub
- My.Dingens.UPDATE_ABC(mDaten.GetChanges)
- mDaten.AcceptChanges()
- End Sub[/spoiler][spoiler]
Ich würde nun gerne eine Möglichkeit schaffen, insofern benötigt, der Form in irgendeiner Weise mitzuteilen, dieses Standardverhalten einzuhalten. Dazu muss ich der Form (hier
FormABC
) dann die drei relevanten Knöpfe mitteilen, das oder die zu speichernden Datasets (hier mDaten
) und die (jedes mal anders heißende) Funktion (pro Dataset, hier My.Dingens.UPDATE_ABC()
), welche das Aktualisieren auf der Datenbank übernimmt.Wie kann ich das anstellen?