Ich programmiere einen einfachen Texteditor mit Windows Forms. Wie in vielen Editoren zeigt die Titelleiste bei der Änderung des Textes ein Sternchen neben dem Titel an und zeigt an, dass noch nicht gespeicherte Arbeit vorhanden ist. Wenn der Benutzer speichert, geht das weg.Wie erkennt man den vorherigen Zustand des Textfelds in C#?
Es gibt jedoch ein Problem. Dies wird im Änderungsereignis des Haupttextfeldes behandelt. Aber dies wird auch aufgerufen, wenn eine Datei geöffnet wird oder der Benutzer "Neue Datei" auswählt, so dass das Programm sagt, dass es nicht gespeicherte Änderungen gibt, wenn Sie den Editor öffnen und dann eine Datei öffnen. Was ist eine mögliche Lösung?
Ich dachte an eine globale Variable, die besagt, ob der Text so geändert wurde, dass er nicht das Sternchen auslöst, aber es muss einen besseren Weg geben.
Das ist nicht wirklich genau. Sie können eine statische Klasse erstellen und dieser Klasse statische Variablen hinzufügen. Boom, globale Variablen. – jasonh
Statische Variablen sind nicht global. Sie sind, naja, statisch. Ich weiß, das ist etwas pedantisch, aber ich finde es am besten, mit Begriffen genau zu sein. –
Entschuldigung, ich meinte eine Instanzvariable des Formulars. Aber ich mag diese Lösung immer noch nicht. – Javier