Es scheint, dass Sie in einer Einstellungsdatei PrinterSettings und auch PageSettings beibehalten können, sie sind Serializable usw. Großartig! Alles lief gut, bis ich versuchte, meine PageSettings und die Ränder beizubehalten. Jedes Mal, wenn ich die Ränder ändere, speichern Sie die Einstellungen und laden Sie sie dann erneut in die PageSetupDialog.PageSettings - sie wurden geändert. Weiß jemand, warum das passiert? Ist es etwas, das der Treiber oder Windows macht? Seine bizarre, siehe unten:PageSettings wird immer unerwartet geändert
Hier zeige ich den Dialog:
PageSetupDialog psd = new PageSetupDialog();
psd.PageSettings = MySettings.Default.pageSettings;
if (psd.ShowDialog() == DialogResult.OK)
ich die Werte manuell ändern 5.
Dann speichere ich die Änderungen:
MySettings.Default.pageSettings = psd.PageSettings;
Wenn ich den Dialog neu laden und laden Sie die Einstellungen aus den Einstellungen fi Die Werte haben sich in 2 geändert !?
UPDATE:
Also nur zu versuchen und das Problem zu erweitern - wenn wir die Pagesetup zum ersten Mal mit den Standardeinstellungen Werte zeigen, die 10 für alle Ränder sind. Wenn wir die Werte während des Debug-inspizieren dann sehen wir sie wie folgt dargestellt:
So sind sie alle 100, seltsam, aber ich erwartete, dass sie 10 also wie 10 mm sein, wie der Dialog sagt, so I don‘ Sie wissen, welche Maßeinheit 100 zu sein hat, aber nehmen wir an, dass sie im Dialog mit 10 korreliert.
Wir dann bearbeiten sie alle 5 im Dialog und drücken Sie OK - so erhalten wir hinter diesem Code:
if (psd.ShowDialog() == DialogResult.OK)
so würden wir auf Inspektion des pageSettingDialog Objekt sehen erwarten, dass einige Werte für die sehen Ränder sind alle 5 (oder 50, wie es in der 10 gegen 100 Verwirrung der Fall zu sein scheint, siehe oben). Schauen wir uns das Objekt einen Blick dann:
Und siehe da, es ist nicht das, was wir erwartet hatten, es ist 20 aus irgendeinem bizarren Grund. Dort bleibe ich hängen, ich kann einfach nicht herausfinden, was hinter den Sehnsitzen hier vor sich geht. Warum ändert es sich von 50 auf 20? Warum hält es nicht den Wert, den ich eingestellt habe? Hoffe, dass es ein bisschen besser erklärt.
Tritt dies nur auf, wenn Sie (Debug) von Visual Studio ausführen oder wenn Sie exe von Windows Explorer ausführen? – decyclone
Es passiert sowohl in debug und exe. – Vidar
Siehe meine Änderungen an der ursprünglichen Buchung. – Vidar