Ознаки
Розглянемо такий сценарій:
-
Створення програми Windows Forms на основі однієї з таких версій Microsoft .NET Framework:
-
Microsoft .NET Framework 2.0
-
Microsoft .NET Framework 3.0
-
Microsoft .NET Framework 3.5
-
-
Щоб відобразити діалогове вікно Друк у програмі, скористайтеся класом PrintDialog.
-
У діалоговому вікні встановіть прапорець Зіставити .Примітка. Також можна програмно настроїти Параметр PrintDialogObject. PrinterSettings.Collate to true.
У цьому випадку параметр зіставлення не працює. Наприклад, припустімо, що ви намагаєтеся надрукувати 2 копії двосторінкового документа. Якщо параметр зіставлення ввімкнуто, сторінки мають друкуватися в такому порядку:
Сторінка 1Сторінка 2Сторінка 1Сторінка 2Проте сторінки друкуються в такому порядку:
Сторінка 1Сторінка 1Сторінка 2Сторінка 2Note Ця проблема не виникає у Windows XP або Windows Server 2003.
Причина
Ця проблема виникає через те, що програма Windows Forms читає дані про настройки принтера з неправильного розташування після закриття діалогового вікна Друк.
Спосіб вирішення
Відомості про виправлення
Від корпорації Майкрософт доступне виправлення, що підтримується. Однак вона має на меті виправити лише проблему, описану в цій статті. Застосуйте її лише до систем, у яких виникла ця проблема.Щоб вирішити цю проблему, зверніться до служби підтримки клієнтів корпорації Майкрософт, щоб отримати виправлення. Повний список номерів телефонів служб підтримки клієнтів Microsoft і відомостей про витрати на підтримку див. на веб-сайті корпорації Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримітка У особливих випадках стягнення плати, які зазвичай понесені для викликів підтримки, може бути скасовано, якщо спеціаліст служби підтримки Microsoft визначить, що конкретне оновлення вирішить проблему. За додаткові послуги технічної підтримки, не пов’язані з цим оновленням, плата стягується на загальних засадах.
Попередні вимоги
Щоб застосувати це виправлення, потрібно мати .NET Framework 2.0, .NET Framework 3.0 або .NET Framework 3.5 інстальовано на комп'ютері під керуванням однієї з таких операційних систем:
-
Windows Vista з пакетом оновлень 2 (SP2)
-
Windows Server 2008 із пакетом оновлень 2 (SP2)
-
Windows 7
-
Windows 7 із пакетом оновлень 1 (SP1)
-
Windows Server 2008 R2.
-
Windows Server 2008 R2 з пакетом оновлень 1 (SP1)
Необхідність перезавантаження
Потрібно перезавантажити комп'ютер після застосування цього виправлення, якщо відповідні файли використовуються під час інсталяції. Перш ніж інсталювати це виправлення, радимо закрити всі .NET Framework програми, які блокування або використання файлів, на які впливає проблема.
Відомості про заміну виправлень
Це виправлення не замінює попередню версію виправлення.
Відомості про файл
Глобальна версія цього виправлення має атрибути файлу (або новіші атрибути файлів), перелічені в наведеній нижче таблиці. Дати та час для цих файлів зазначені за всесвітнім координованим часом (UTC). Коли ви переглядаєте відомості про файл, вони перетворюються на місцевий час. Щоб знайти різницю між UTC і місцевим часом, перейдіть на вкладку Часовий пояс в елементі "Дата й час" у Панель керування.
Для Windows Vista та Windows Server 2008
Для всіх підтримуваних версій Windows Server 2008 і Windows Vista на базі x86-процесорів
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:58 |
x86 |
Для всіх підтримуваних x64-процесорів версій Windows Server 2008 і Windows Vista
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:59 |
x64 |
Для всіх підтримуваних версій IA-64 Windows Server 2008
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:52 |
ІА-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:52 |
ІА-64 |
Для Windows 7 і Windows Server 2008 R2
Для всіх підтримуваних версій ОС Windows 7 на базі x86-процесорів
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:59 |
x86 |
Для всіх підтримуваних версій ОС Windows 7 і Windows Server 2008 R2 для систем на базі x64-процесорів
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:59 |
x64 |
Для всіх підтримуваних версій IA-64 Windows Server 2008 R2
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:52 |
ІА-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:52 |
ІА-64 |
Для Windows 7 із пакетом оновлень 1 (SP1) і Windows Server 2008 R2 з пакетом оновлень 1 (SP1)
Для всіх підтримуваних x86-процесорів версій Windows 7 SP1
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
11:03 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
11:03 |
x86 |
Для всіх підтримуваних x64-процесорів версій Windows 7 SP1 і Windows Server 2008 R2 SP1
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
11:02 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
11:02 |
x64 |
Для всіх підтримуваних версій IA-64 Windows Server 2008 R2 з пакетом оновлень 1 (SP1)
|
Ім'я файлу |
Версія файлу |
Розмір файлу |
Дата |
Час |
Платформа |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22 серпня 2012 р. |
10:55 |
ІА-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 серпня 2012 р. |
10:55 |
ІА-64 |
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Додаткові відомості
Нижче описано, зміни в поведінку до та після інсталяції виправлення. Наприклад, ви створюєте програму Windows Forms, яка містить такий код:
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
У таблиці нижче показано, чи встановлено для параметра зіставлення значення True після появи діалогового вікна Друк , а потім закрито.Перед інсталяцією цього виправлення
|
Принтер |
Властивість PrintDialog.UseEXDialog має значення false |
Властивість PrintDialog.UseEXDialog має значення true |
|
Xps writer |
Змінна поведінка залежно від ОС |
Для параметра Collate (Зіставлення) установлено значення false (хибність) |
|
Фізичний принтер |
Для параметра Collate (Зіставлення) установлено значення false (хибність) |
Для параметра Collate (Зіставлення) установлено значення false (хибність) |
Після інсталяції цього виправлення
|
Принтер |
Властивість PrintDialog.UseEXDialog має значення false |
Властивість PrintDialog.UseEXDialog має значення true |
|
Xps writer |
Змінна поведінка залежно від ОС |
Для параметра Collate (Зіставлення) установлено значення true (істина) |
|
Фізичний принтер |
Для параметра Collate (Зіставлення) установлено значення true (істина) |
Для параметра Collate (Зіставлення) установлено значення true (істина) |
Посилання
Щоб отримати додаткові відомості про властивість PrintDialog.PrinterSettings, перейдіть на веб-сайт MSDN:
Загальні відомості про властивість PrintDialog.PrinterSettingsЩоб отримати додаткові відомості про діалогове вікно Друк , перейдіть на такий веб-сайт MSDN: