症状
请考虑以下情况:
-
创建基于以下Microsoft.NET Framework版本之一的Windows 窗体应用程序:
-
Microsoft .NET Framework 2.0
-
Microsoft .NET Framework 3.0
-
Microsoft .NET Framework 3.5
-
-
使用 PrintDialog 类显示用于在应用程序中打印的“ 打印 ”对话框。
-
选中对话框中的“整理检查”框。注意 还可以以编程方式设置 PrintDialogObject。PrinterSettings.Collate 为 true。
在这种情况下,排序规则设置不起作用。 例如,假设您尝试打印 2 页文档的 2 份。 启用排序规则设置后,应按以下顺序打印页面:
第 1页 2第 1页但是,页面按以下顺序打印:
第 1页 1第 2页注意 Windows XP 或 Windows Server 2003 中不会出现此问题。
原因
出现此问题的原因是,关闭“打印”对话框后,Windows 窗体应用程序从错误的位置读取打印机设置数据。
解决方法
修补程序信息
Microsoft现在提供了受支持的修补程序。 但是,它仅用于更正本文介绍的问题。 仅将其应用于遇到此特定问题的系统。若要解决此问题,请联系 Microsoft客户支持服务以获取修补程序。 有关Microsoft客户支持服务电话号码的完整列表以及有关支持成本的信息,请访问以下Microsoft网站:
http://support.microsoft.com/contactus/?ws=support注意 在特殊情况下,如果Microsoft 支持部门 Professional 确定特定更新将解决你的问题,则通常由支持呼叫产生的费用可能会被取消。 通常的支持成本将适用于其他支持问题和不符合有关特定更新条件的问题。
先决条件
若要应用此修补程序,必须在运行以下操作系统之一的计算机上安装 .NET Framework 2.0、.NET Framework 3.0 或 .NET Framework 3.5:
-
Windows Vista Service Pack 2 (SP2)
-
Windows Server 2008 Service Pack 2 (SP2)
-
Windows 7
-
Windows 7 Service Pack 1 (SP1)
-
Windows Server 2008 R2
-
Windows Server 2008 R2 Service Pack 1 (SP1)
重启要求
如果在安装过程中使用了受影响的文件,则必须在应用此修补程序后重新启动计算机。 建议在安装此修补程序之前关闭锁定或使用受影响文件的所有.NET Framework应用程序。
修补程序替换信息
此修补程序不会替换以前发布的修补程序。
文件信息
此修补程序的全局版本具有下表中列出的文件属性 (或更高版本的文件属性) 。 这些文件的日期和时间以协调世界时 (UTC) 格式列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。
对于 Windows Vista 和 Windows Server 2008
对于所有受支持的基于 x86 的 Windows Server 2008 和 Windows Vista 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:58 |
x86 |
对于所有受支持的基于 x64 的 Windows Server 2008 和 Windows Vista 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:59 |
x64 |
对于所有受支持的基于 IA-64 的 Windows Server 2008 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:52 |
IA-64 |
对于 Windows 7 和 Windows Server 2008 R2
对于所有受支持的基于 x86 的 Windows 7 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:59 |
x86 |
对于所有受支持的基于 x64 的 Windows 7 和 Windows Server 2008 R2 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:59 |
x64 |
对于所有受支持的基于 IA-64 的 Windows Server 2008 R2 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
10:52 |
IA-64 |
对于 Windows 7 SP1 和 Windows Server 2008 R2 SP1
对于所有受支持的基于 x86 的 Windows 7 SP1 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
1,103 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
1,103 |
x86 |
对于所有受支持的基于 x64 的 Windows 7 SP1 和 Windows Server 2008 R2 SP1 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
11:02 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
11:02 |
x64 |
对于所有受支持的基于 IA-64 的 Windows Server 2008 R2 SP1 版本
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
2012 年 8 月 22 日 |
1,055 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
2012 年 8 月 22 日 |
1,055 |
IA-64 |
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
更多信息
下面介绍了在安装修补程序之前和之后的行为更改。 例如,创建包含以下代码的 Windows 窗体 应用程序:
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
下表显示了在“ 打印 ”对话框出现并关闭后,排序规则设置是否设置为 true。安装此修补程序之前
|
打印机 |
PrintDialog.UseEXDialog 属性设置为 false |
PrintDialog.UseEXDialog 属性设置为 true |
|
XPS 编写器 |
根据 OS 的变量行为 |
排序规则设置设置为 false |
|
物理打印机 |
排序规则设置设置为 false |
排序规则设置设置为 false |
安装此修补程序后
|
打印机 |
PrintDialog.UseEXDialog 属性设置为 false |
PrintDialog.UseEXDialog 属性设置为 true |
|
XPS 编写器 |
根据 OS 的变量行为 |
“排序规则”设置设置为 true |
|
物理打印机 |
“排序规则”设置设置为 true |
“排序规则”设置设置为 true |
参考
有关 PrintDialog.PrinterSettings 属性的详细信息,请转到以下 MSDN 网站:
有关 PrintDialog.PrinterSettings 属性的常规信息有关“ 打印 ”对话框的详细信息,请转到以下 MSDN 网站: