Ich habe ein Formular und ich habe einige Tasten, die Sachen machen.C# speichern Zustand des Formulars mit allen Steuerelementen
Wenn ich Tasten drücken die Fenster Kontrollen bilden, wie Textfelder oder Gruppenfelder, Schaltflächen erscheinen und verschwinden und auf meine Form ändern, denn es ist eine dynamische Form ist :)
Doch was würde Ich mag zu tun ist, eine Schaltfläche (BACK
) zu haben, die mein Formular in den Zustand bringt, der es vor einer Handlung eines Knopfes war, die Kontrollen an dem Platz zurückbringend und feststellend, dass sie vor Handlung waren.
Ich dachte an eine C
Klasse MyState(), die etwas wie ein Array von Form1 haben wird. Ich werde den Formularstatus in diesem Array speichern und wenn ich die back
Schaltfläche drücken, um aus Array, das den Status "Form" und möglicherweise einen Index für Indexierungsstatus "kopieren" abrufen.
Ich habe leider keine Ahnung, wie dies zu implementieren ist. : |
Kann mir jemand den richtigen Weg zeigen, dies zu tun?
class Mystate
{
private Form1 [] state;
public Mystate(int n)
{
this.state = new Form1[n];
}
public Form1 this[int index]
{
get
{
return state[index];
}
set
{
this.state[index] = value;
}
}
}
Haben Sie versucht, das Formular vor jeder Aktion mit BinarySerializer zu serialisieren und die serialisierten Daten in einem Stapel zu platzieren? Nicht sicher, ob Form und seine Kinder alle serialisierbar sind oder nicht, aber das wäre sicherlich ein einfacher Ansatz, wenn sie es sind. –
Ich weiß nicht genau, was genau Sie versuchen, aber es klingt, als könnten Sie einfach ein TabControl oder etwas Ähnliches verwenden. – marinus
mögliches Duplikat von [Erstellen von Assistenten für Windows Forms in C#] (http://stackoverflow.com/questions/2340566/creating-wizards-for-windows-forms-in-c-sharp) –