Symptomy
Rozpatrzmy następujący scenariusz:
-
Tworzysz aplikację Windows Forms opartą na jednej z następujących wersji .NET Framework Firmy Microsoft:
-
Microsoft .NET Framework 2.0
-
Microsoft .NET Framework 3.0
-
Microsoft .NET Framework 3.5
-
-
Klasa PrintDialog służy do wyświetlania okna dialogowego Drukowanie na potrzeby drukowania w aplikacji.
-
Zaznacz pole wyboru Sortuj w oknie dialogowym.Uwaga Możesz również programowo ustawić funkcję PrintDialogObject. PrinterSettings.Collate to true.
W tym scenariuszu ustawienie sortowania nie działa. Załóżmy na przykład, że próbujesz wydrukować 2 kopie 2-stronicowego dokumentu. Po włączeniu ustawienia sortowania strony powinny być drukowane w następującej kolejności:
Strona 1Strona 2Strona 1Strona 2 Strony 2Strony są jednak drukowane w następującej kolejności:
Strona 1Strona 1Strona 2Strona 2Note Ten problem nie występuje w systemie Windows XP ani Windows Server 2003.
Przyczyna
Ten problem występuje, ponieważ aplikacja Windows Forms odczytuje dane ustawień drukarki z nieprawidłowej lokalizacji po zamknięciu okna dialogowego Drukowanie.
Rozwiązanie
Informacje dotyczące poprawek
Obsługiwana poprawka jest teraz dostępna od firmy Microsoft. Jednak jego celem jest naprawienie tylko problemu opisanego w tym artykule. Zastosuj ją tylko do systemów, w których występuje ten konkretny problem.Aby rozwiązać ten problem, skontaktuj się z działem obsługi klienta firmy Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów usług obsługi klienta firmy Microsoft oraz informacje na temat kosztów pomocy technicznej, odwiedź następującą witrynę internetową firmy Microsoft:
http://support.microsoft.com/contactus/?ws=supportUwaga W specjalnych przypadkach opłaty, które zwykle naliczane są za połączenia z pomocą techniczną, mogą zostać anulowane, jeśli pomoc techniczna firmy Microsoft Professional ustali, że określona aktualizacja rozwiąże problem. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, których rozwiązanie nie jest objęte określoną aktualizacją.
Wymagania wstępne
Aby zastosować tę poprawkę, na komputerze z jednym z następujących systemów operacyjnych musi być zainstalowany .NET Framework 2.0, .NET Framework 3.0 lub .NET Framework 3.5:
-
Windows Vista z dodatkiem Service Pack 2 (SP2)
-
dodatek Service Pack 2 (SP2) dla Windows Server 2008
-
Windows 7
-
Windows 7 z dodatkiem Service Pack 1 (SP1)
-
Windows Server 2008 R2
-
Windows Server 2008 R2 z dodatkiem Service Pack 1 (SP1)
Wymaganie ponownego uruchomienia
Jeśli podczas instalacji są używane pliki, których dotyczy problem, należy ponownie uruchomić komputer po zastosowaniu tej poprawki. Przed zainstalowaniem tej poprawki zalecamy zamknięcie wszystkich aplikacji .NET Framework, które blokują lub używają plików, na które ma to wpływ.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje wcześniej wydanej poprawki.
Informacje dotyczące pliku
Globalna wersja tej poprawki zawiera atrybuty plików (lub nowsze atrybuty plików) wymienione w poniższej tabeli. Daty i godziny dla tych plików są wymienione w uniwersalnym czasie koordynowanym (UTC). Informacje o pliku są konwertowane na czas lokalny. Aby znaleźć różnicę między czasem UTC a czasem lokalnym, użyj karty Strefa czasowa w elemencie Data i godzina w Panel sterowania.
W systemach Windows Vista i Windows Server 2008
We wszystkich obsługiwanych wersjach systemu Windows Server 2008 i Windows Vista opartych na procesorach x86
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:58 |
x86 |
We wszystkich obsługiwanych wersjach systemu Windows Server 2008 i Windows Vista opartych na procesorach x64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:59 |
x64 |
We wszystkich obsługiwanych wersjach systemu Windows Server 2008 opartych na programie IA-64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:52 |
IA-64 |
W systemach Windows 7 i Windows Server 2008 R2
Dla wszystkich obsługiwanych wersji systemu Windows 7 opartych na procesorach x86
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:59 |
x86 |
Dla wszystkich obsługiwanych wersji systemu Windows 7 i Windows Server 2008 R2 opartych na procesorach x64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:59 |
x64 |
Dla wszystkich obsługiwanych wersji systemu Windows Server 2008 R2 opartych na programie IA-64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:52 |
IA-64 |
W systemach Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1
Dla wszystkich obsługiwanych wersji systemu Windows 7 z dodatkiem SP1 opartych na procesorze x86
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
11:03 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
11:03 |
x86 |
We wszystkich obsługiwanych wersjach systemu Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1 opartym na procesorze x64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
11:02 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
11:02 |
x64 |
Dla wszystkich obsługiwanych wersji programu Windows Server 2008 R2 z dodatkiem SP1 dla systemu IA-64
|
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Data |
Czas |
Platforma |
|---|---|---|---|---|---|
|
System.design.dll |
2.0.50727.5734 |
5,062,656 |
22-sie-2012 |
10:55 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-sie-2012 |
10:55 |
IA-64 |
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Więcej informacji
Poniżej opisano zmianę zachowania przed zainstalowaniem poprawki i po jej zainstalowaniu. Na przykład tworzysz aplikację Windows Forms zawierającą następujący kod:
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
W poniższej tabeli przedstawiono, czy ustawienie sortowania jest ustawione na prawda po wyświetleniu okna dialogowego Drukowanie , a następnie zamknięciu.Przed zainstalowaniem tej poprawki
|
Drukarki |
Właściwość PrintDialog.UseEXDialog jest ustawiona na fałsz |
Właściwość PrintDialog.UseEXDialog jest ustawiona na wartość true |
|
Edytor XPS |
Zmienne zachowanie w zależności od systemu operacyjnego |
Ustawienie Sortuj ma ustawioną wartość False (Fałsz) |
|
Drukarka fizyczna |
Ustawienie Sortuj ma ustawioną wartość False (Fałsz) |
Ustawienie Sortuj ma ustawioną wartość False (Fałsz) |
Po zainstalowaniu tej poprawki
|
Drukarki |
Właściwość PrintDialog.UseEXDialog jest ustawiona na fałsz |
Właściwość PrintDialog.UseEXDialog jest ustawiona na wartość true |
|
Edytor XPS |
Zmienne zachowanie w zależności od systemu operacyjnego |
Ustawienie Sortuj ma wartość prawda |
|
Drukarka fizyczna |
Ustawienie Sortuj ma wartość prawda |
Ustawienie Sortuj ma wartość prawda |
Informacje
Aby uzyskać więcej informacji na temat właściwości PrintDialog.PrinterSettings, przejdź do następującej witryny internetowej MSDN:
Ogólne informacje o właściwości PrintDialog.PrinterSettingsAby uzyskać więcej informacji o oknie dialogowym Drukowanie , przejdź do następującej witryny internetowej MSDN: