Erstellen Sie eine speichern-Schaltfläche für einer Form in C#
Ich habe vor kurzem eine Datenbank in Visual Studio. Ich habe zwei Formen, die erste form zeigt die Tabelle. Die zweite form verbunden ist, um die erste Tabelle und zeigt die Informationen in design-Ansicht.
Wenn der Benutzer ändert die Daten in der design-Ansicht, wenn Sie auf speichern klicken, werden die geänderten Informationen aktualisiert wird, die auf der ursprünglichen form, wenn das zweite Formular geschlossen wird.
Jedoch, wenn Sie das Formular schließen ohne zu speichern, werden die Informationen über die ursprüngliche form bleibt unverändert.
Ich möchte einen Speichern-button, um klar zu zeigen, der Benutzer, müssen Sie alle änderungen speichern, die Sie in der design-Ansicht.
Hat jemand erstellt einen "speichern" - button vor? Für ein Formular mit einem anderen Formular, nicht eine Datei?
- Ich würde es automatisch zu speichern, als es geschlossen
- Ich kann nicht einfach diesen nutzen.Speichern();?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was ist mit dem event FormClosing ?
Nicht sicher, ob ich deine Frage verstanden korrekt, aber ich habe dieses kleine Beispiel zu versuchen und zu replizieren, was Sie fragten.
Hier ist die Haupt-form:
Dem Hauptformular besteht aus einem Daten-grid-view (zeigt die Daten könnten aus einer Datenbank stammen) und eine Bearbeiten-Schaltfläche, die verwendet wird, um öffnen Sie ein zweites Formular, das verwendet werden, um das Bearbeiten der DataValue das ausgewählte Element in der grid-Ansicht. Form2 (das edit-Formular) sieht wie folgt aus:
Wie Sie sehen können ich einen Speichern-button und ein Abbrechen-button auf Form2. Ich bin mit Form2 als modales dialog-Formular (so das test-Formular kann nicht geändert werden, während Form2 geöffnet ist). Das bedeutet ich kann die DialogResult-Eigenschaften der Schaltflächen Speichern und Abbrechen und verwenden Sie diese, informieren Sie das Testformular, was zu tun ist. Die Schaltfläche Speichern ist so eingestellt, dass
DialogResult = OK
- und die Abbrechen-Taste ist so eingestellt, dassDialogResult = Cancel
.Habe ich auch noch ein besonderes öffentliches Eigentum zu From2, der verwendet werden kann zum abrufen und festlegen der Daten. In meinem Fall ist dies nur eine einfache Schnur, aber in einem weiter fortgeschrittenen Fall, dies würde zu erhalten, und legen Sie ein Objekt der besonderen Art, oder vielleicht eine Daten-Zeile aus der Tabelle. Hier ist mein Eigentum:
Nun hinter meinem button Bearbeiten auf der TestForm habe ich die folgenden Ereignis-code:
Wenn Sie brauchen, um ein nicht-modales version von Form2, dann werden Sie nicht in der Lage, alles zu tun, diese innerhalb der edit-button-event. Stattdessen haben Sie, um zu laichen eine neue form Bearbeiten und verarbeiten es ist ein close-Ereignis aus. Sie müssen dann verschieben Sie den code, updates der grid-Ansicht in das close-Ereignis aus. Jeder erzeugte form Bearbeiten müssen, denken Sie daran, die Daten Zeile, die es Bearbeiten, so dass das close-Ereignis aktualisieren können, die richtige Zeile.
Ich hoffe, das hilft.