Symptômes
Prenons l’exemple du scénario suivant :
-
Vous créez une application Windows Forms basée sur l’une des versions suivantes de Microsoft .NET Framework :
-
Microsoft .NET Framework 2.0
-
Microsoft .NET Framework 3.0
-
Microsoft .NET Framework 3.5
-
-
Vous utilisez la classe PrintDialog pour afficher une boîte de dialogue Imprimer pour l’impression dans l’application.
-
Vous sélectionnez la zone Case activée collez dans la boîte de dialogue.Remarque Vous pouvez également définir par programmation PrintDialogObject. PrinterSettings.Collate sur true.
Dans ce scénario, le paramètre de classement ne fonctionne pas. Par exemple, supposons que vous essayiez d’imprimer 2 copies d’un document de 2 pages. Lorsque le paramètre de classement est activé, les pages doivent être imprimées dans l’ordre suivant :
Page 1Page 2Page 1Page 2Toutefois, les pages sont imprimées dans l’ordre suivant à la place :
Page 1Page 1Page 2Page 2Note Ce problème ne se produit pas dans Windows XP ou Windows Server 2003.
Cause
Le problème se produit car l’application Windows Forms lit les données de paramètre de l’imprimante à partir d’un emplacement incorrect après la fermeture de la boîte de dialogue Imprimer.
Résolution
Informations sur le correctif logiciel
Un correctif logiciel pris en charge est désormais disponible auprès de Microsoft. Toutefois, il est destiné à corriger uniquement le problème décrit dans cet article. Appliquez-la uniquement aux systèmes qui rencontrent ce problème spécifique.Pour résoudre ce problème, contactez les services de support technique Microsoft pour obtenir le correctif logiciel. Pour obtenir la liste complète des numéros de téléphone des services de support technique Microsoft et des informations sur les coûts de support, visitez le site web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=supportRemarque Dans des cas particuliers, les frais habituellement engagés pour les appels de support peuvent être annulés si un Support Microsoft Professionnel détermine qu’une mise à jour spécifique résout votre problème. Les coûts habituels du support technique s’appliqueront aux autres questions et problèmes non directement liés à la mise à jour en question.
Conditions préalables
Pour appliquer ce correctif, vous devez disposer du .NET Framework 2.0, du .NET Framework 3.0 ou du .NET Framework 3.5 installé sur un ordinateur exécutant l’un des systèmes d’exploitation suivants :
-
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)
Nécessité de redémarrer
Vous devez redémarrer l’ordinateur après avoir appliqué ce correctif logiciel si les fichiers affectés sont utilisés pendant l’installation. Nous vous recommandons de fermer toutes les applications .NET Framework qui verrouillent ou utilisent les fichiers affectés avant d’installer ce correctif logiciel.
Informations sur le remplacement de correctif logiciel
Ce correctif logiciel ne remplace pas un correctif logiciel publié précédemment.
Informations sur les fichiers
La version globale de ce correctif logiciel contient les attributs de fichier (ou les attributs de fichier ultérieurs) répertoriés dans le tableau suivant. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l’heure UTC et l’heure locale, utilisez l’onglet Fuseau horaire dans l’élément Date et heure du Panneau de configuration.
Pour Windows Vista et Windows Server 2008
Pour toutes les versions x86 prises en charge de Windows Server 2008 et Windows Vista
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:58 |
x86 |
Pour toutes les versions x64 prises en charge de Windows Server 2008 et Windows Vista
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:59 |
x64 |
Pour toutes les versions IA-64 prises en charge de Windows Server 2008
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:52 |
IA-64 |
Pour Windows 7 et Windows Server 2008 R2
Pour toutes les versions x86 prises en charge de Windows 7
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:59 |
x86 |
Pour toutes les versions x64 prises en charge de Windows 7 et Windows Server 2008 R2
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:59 |
x64 |
Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
10:52 |
IA-64 |
Pour Windows 7 SP1 et Windows Server 2008 R2 SP1
Pour toutes les versions x86 prises en charge de Windows 7 SP1
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
1,103 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
1,103 |
x86 |
Pour toutes les versions x64 prises en charge de Windows 7 SP1 et Windows Server 2008 R2 SP1
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
02:11 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
02:11 |
x64 |
Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2 SP1
|
Nom du fichier |
Version du fichier |
Taille du fichier |
Date |
Time |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22 août 2012 |
1,055 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22 août 2012 |
1,055 |
IA-64 |
État
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Informations supplémentaires
La section suivante décrit le changement de comportement avant et après l’installation du correctif logiciel. Par exemple, vous créez une application Windows Forms qui contient le code suivant :
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
Le tableau suivant indique si le paramètre de classement est défini sur true une fois la boîte de dialogue Imprimer affichée, puis fermée.Avant d’installer ce correctif logiciel
|
Imprimante |
La propriété PrintDialog.UseEXDialog a la valeur false |
La propriété PrintDialog.UseEXDialog a la valeur true |
|
Enregistreur XPS |
Comportement variable, en fonction du système d’exploitation |
Le paramètre de classement est défini sur false |
|
Imprimante physique |
Le paramètre de classement est défini sur false |
Le paramètre de classement est défini sur false |
Après avoir installé ce correctif logiciel
|
Imprimante |
La propriété PrintDialog.UseEXDialog a la valeur false |
La propriété PrintDialog.UseEXDialog a la valeur true |
|
Enregistreur XPS |
Comportement variable, en fonction du système d’exploitation |
Le paramètre de classement est défini sur true |
|
Imprimante physique |
Le paramètre de classement est défini sur true |
Le paramètre de classement est défini sur true |
Références
Pour plus d’informations sur la propriété PrintDialog.PrinterSettings, accédez au site web MSDN suivant :
Informations générales sur la propriété PrintDialog.PrinterSettingsPour plus d’informations sur la boîte de dialogue Imprimer , accédez au site web MSDN suivant :