看来你可以坚持在一个设置文件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