看來你可以堅持在一個設置文件PrinterSettings和PageSettings,他們是Serializable等等太棒了!一切都很順利,直到我試圖堅持我的PageSettings和利潤率。每次我改變邊距,保存設置,然後將它們重新加載到PageSetupDialog.PageSettings中 - 它們已被修改。有誰知道爲什麼發生這種情況?是驅動程序還是Windows正在做的事情?它的怪異,見下圖:PageSettings不斷得到修改
我在這裏顯示對話框:
PageSetupDialog psd = new PageSetupDialog();
psd.PageSettings = MySettings.Default.pageSettings;
if (psd.ShowDialog() == DialogResult.OK)
我手動更改值5
然後我保存的更改:
MySettings.Default.pageSettings = psd.PageSettings;
當我重新加載對話框並加載設置中的設置fi樂的價值已經變爲2!?
UPDATE:
所以只是嘗試和擴大這個問題 - 如果我們顯示的PageSetupDialog首次使用默認設置值,它們是10的所有利潤。如果我們在調試期間檢查值,那麼我們看到他們這樣表示:
所以他們都是100,奇怪,但我希望他們是10個,即像10毫米一樣的對話框說,所以我不不管怎樣,我們都不知道100所涉及的單位是什麼,但是我們假設它在對話框中與10相關。
我們然後在對話框,然後按確定他們都編輯到5 - 所以我們闖過此代碼:
if (psd.ShowDialog() == DialogResult.OK)
,所以我們希望看到的pageSettingDialog對象的檢查,看到了一些值利潤率全部爲5(或50,就像在10 vs 100混亂中似乎是這種情況,見上文)。讓我們來看看對象,然後:
低,不料這不是我們的預期,這是20理由很奇怪。這就是我陷入困境的地方,我無法弄清楚這裏的情況。爲什麼它會從50變爲20?爲什麼它不能保持我設定的價值? 希望能夠更好地解釋它。
只有當您從Visual Studio運行(調試)或者甚至從Windows資源管理器運行exe時纔會發生這種情況嗎? – decyclone 2010-12-14 17:28:02
它發生在調試和exe中。 – Vidar 2010-12-15 11:21:58
查看我對原始發佈的更改。 – Vidar 2010-12-15 14:25:05