Wie auto-speichern und automatische laden alle Eigenschaften in winforms C#?
Wie auto-speichern alle Eigenschaften winforms, wenn Sie geschlossen und automatisch laden alle winforms-Eigenschaften beim laden ? C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace SControl
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < Controls.Count; i++)
{
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(Controls[i]));
Stream stream = File.Open("test.xml", FileMode.Create);
x.Serialize(stream, Controls[i]);
}
}
}
}
Du meinst Eigenschaften wie Fenstergröße, Position, Modus, etc?
InformationsquelleAutor monkey_boys | 2010-01-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Frage ist ein wenig unklar, aber
Wenn Sie benötigen, speichern/laden des Formular haben Sie einen Blick auf
Windows Forms-Benutzer-Einstellungen in C#
Wenn Sie benötigen, speichern/laden eines Objekt/Klasse haben Sie einen Blick auf
Laden und speichern von Objekten in XML mit Hilfe der Serialisierung
EDIT:
Dies wird Ihnen zeigen, wie Sie bestehen, bestimmte Einstellungen für die Formular-Eigenschaften.
Speichern und Wiederherstellen der Einstellungen ein .NET-Formular mit XML
Haben auch einen Blick auf Die Anwendung-Automatisierung-Schicht - die Verwendung von XML Zur dynamischen Generierung von GUI-Elementen--Formulare Und Steuerelemente
Alle diese führt Sie in die Richtung, die Sie gehen müssen.
Ich denke, das Hauptziel hier ist
laden, und wo zu speichern/abzurufen
diese Einstellungen.
Benutzer? In einer Datenbank? In einer xml-Datei?
Eigenschaften, die Sie werden
speichern/wiederherstellen von pro control. Einfach
Lage/Größe Einstellungen möglicherweise nicht schneiden
als Steuerelemente haben verschiedene
Komplexität (Button, TextBox,
Gridview, ListView)
Durchlaufen ALLER Steuerelemente auf dem Formular.
Buttons, Textfelder, Panels, Steuerungen
in der Steuerelemente (controls in panels), und
vielleicht ist auch Ihre Benutzer-Steuerelemente. Diese
kann man mit Hilfe der Rekursion.
Struktur der xml-Datei (wenn Sie sich dafür entscheiden
die Verwendung von xml). Dies sollte ziemlich viel
sehen aus wie eine Baumstruktur, wie Sie
schaut auf die form, und seine
Steuerelemente und Ihren Kontrollen, als
Baum-Struktur.
InformationsquelleAutor Adriaan Stander
Ich bin mir nicht bewusst keine automatische Methode gebaut, in der
Form
Basis-Klasse, und fügen Sie es selbst, ist nicht schwer.Könnten Sie Tippen Sie auf das laden-Fenster-und close-Ereignisse an den cache ausschalten, alle relevanten Eigenschaften zu einem backing store und laden Sie Sie später.
Registrieren Sie einen Ereignishandler für das
Form.Load
undForm.Closing
event-Handler. WennForm.Closing
Auftritt, speichern Sie die Formulare Zustand in eine Datei oder Datenbank. WennForm.Load
Auftritt, überprüfen Sie, wenn eine gespeicherte Zustand vorhanden ist und wenn ja, lade die aus dem gespeicherten Zustand.InformationsquelleAutor Ryan Michela
Müssen Sie manuell code, welche Eigenschaften gespeichert werden.
Ist eine praktische Methode ist, um svae diese personalisierten Einstellungen zu Windows-Forms-Anwendung-Einstellungen.
Beispiel-code-snippet:
Mehr Referenzen:
Kann man beginnen, mit der Funktion AutoLoad(); Exit über die Funktion SaveAll(); ?
Wenn Sie zulassen, dass der Benutzer zu Personalisieren Sachen wie Formular-Steuerelement-Eigenschaften (z.B. dock, schriftart etc.), können Sie speichern Sie Sie als gut, aber Sie haben es code manuell speichern und laden. astander bereitgestellt hat, eine gute Referenz für eine automatisierte Methode, mit der Serialisierung ist eine weitere alternative.
AutoLoad
undExit
ersetzt werden kann, mit dem Formular-EreignisseForm.Load
undForm.Closing
wie das, was Ryan Michela erwähnt.InformationsquelleAutor o.k.w
Den Prozess der drehen Objekte wie Formen in etwas, das gerettet werden könnten, heißt Serialisierung. Leider habe ich glaube nicht, dass es eine out-of-box-Weise zu serialisieren von Formularen in Windows forms. Ich habe Wie Clone/Serialisieren/Kopieren & Fügen Sie ein Windows Forms-Steuerelement, und da bildet auch Steuerelemente, die Sie vielleicht in der Lage sein serialisiert werden die Eigenschaften über den code.
InformationsquelleAutor Eugene Yokota