Sintomas
Considere o seguinte cenário:
-
Crie uma aplicação Windows Forms baseada numa das seguintes versões do Microsoft .NET Framework:
-
O Microsoft .NET Framework 2.0
-
O Microsoft .NET Framework 3.0
-
O Microsoft .NET Framework 3.5
-
-
Utilize a classe PrintDialog para apresentar uma caixa de diálogo Imprimir para impressão na aplicação.
-
Selecione a caixa de marcar Agrupamento na caixa de diálogo.Nota Também pode definir programaticamente PrintDialogObject. PrinterSettings.Collate como verdadeiro.
Neste cenário, a definição de agrupamento não funciona. Por exemplo, suponha que tenta imprimir 2 cópias de um documento de 2 páginas. Quando a definição de agrupamento está ativada, as páginas devem ser impressas pela seguinte ordem:
Página 1Página 2Página 1Página 2No entanto, as páginas são impressas pela seguinte ordem:
Página 1Página 1Página 2 Página 2NoteEste problema não ocorre no Windows XP ou Windows Server 2003.
Causa
O problema ocorre porque o Windows Forms aplicação lê os dados de definição da impressora a partir de uma localização incorreta após a caixa de diálogo Imprimir ser fechada.
Resolução
Informações sobre o hotfix
Uma correção suportada está agora disponível na Microsoft. No entanto, destina-se a corrigir apenas o problema descrito neste artigo. Aplique-o apenas a sistemas com este problema específico.Para resolve este problema, contacte os Serviços de Suporte ao Cliente da Microsoft para obter a correção. Para obter uma lista completa dos números de telefone e informações dos Serviços de Suporte ao Cliente da Microsoft sobre os custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota Em casos especiais, os custos normalmente incorridos para chamadas de suporte poderão ser cancelados se um Suporte da Microsoft Professional determinar que uma atualização específica irá resolve o seu problema. Os custos de suporte em geral aplicam-se a questões e problemas de suporte adicionais que não se enquadrem na atualização específica em questão.
Pré-requisitos
Para aplicar esta correção, tem de ter o .NET Framework 2.0, o .NET Framework 3.0 ou o .NET Framework 3.5 instalado num computador com um dos seguintes sistemas operativos:
-
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)
Necessidade de reinicialização
Terá de reiniciar o computador depois de aplicar esta correção se os ficheiros afetados estiverem a ser utilizados durante a instalação. Recomendamos que feche todas as .NET Framework aplicações que bloqueiam ou utilizam os ficheiros afetados antes de instalar esta correção.
Informações sobre a substituição de hotfixes
Esse hotfix não substitui nenhum hotfix lançado anteriormente.
Informações do arquivo
A versão global desta correção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) que estão listados na tabela seguinte. As datas e horários destes arquivos estão listados em formato UTC (Tempo Universal Coordenado). Quando você exibe as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.
Para o Windows Vista e Windows Server 2008
Para todas as versões suportadas baseadas em x86 do Windows Server 2008 e do Windows Vista
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:58 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:58 |
x86 |
Para todas as versões suportadas baseadas em x64 do Windows Server 2008 e do Windows Vista
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:59 |
x64 |
Para todas as versões compatíveis com base em IA-64 do Windows Server 2008
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:52 |
IA-64 |
Para o Windows 7 e Windows Server 2008 R2
Para todas as versões compatíveis baseadas em x86 do Windows 7
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:59 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:59 |
x86 |
Para todas as versões compatíveis do Windows 7 e do Windows Server 2008 R2 baseadas em x64.
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:59 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:59 |
x64 |
Para todas as versões com base em IA-64 do Windows Server 2008 R2 com suporte
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
10:52 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
10:52 |
IA-64 |
Para o Windows 7 SP1 e o Windows Server 2008 R2 SP1
Para todas as versões suportadas baseadas em x86 do Windows 7 SP1
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
1,103 |
x86 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
1,103 |
x86 |
Para todas as versões suportadas baseadas em x64 do Windows 7 SP1 e Windows Server 2008 R2 SP1
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
11:02 |
x64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
11:02 |
x64 |
Para todas as versões baseadas em IA-64 suportadas do Windows Server 2008 R2 SP1
|
File name |
Versão do arquivo |
Tamanho do arquivo |
Data |
Horário |
Platform |
|---|---|---|---|---|---|
|
System.Design.dll |
2.0.50727.5734 |
5,062,656 |
22-Ago-2012 |
1,055 |
IA-64 |
|
System.windows.forms.dll |
2.0.50727.5734 |
5,025,792 |
22-Ago-2012 |
1,055 |
IA-64 |
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Informações adicionais
A seguir descreve a alteração no comportamento antes e depois de instalar o hotfix. Por exemplo, você cria um aplicativo Windows Forms que contém o seguinte código:
PrintDialog pd = new PrintDialog();pd.PrinterSettings.Copies = 2;pd.PrinterSettings.Collate = true;pd.ShowDialog();
A tabela a seguir mostra se a configuração de ordenação é definida como true depois que a caixa de diálogo Imprimir é exibida e, em seguida, é fechada.Antes de instalar esse hotfix
|
Impressora |
A propriedade PrintDialog.UseEXDialog é definida como false |
A propriedade PrintDialog.UseEXDialog é definida como true |
|
Gravador XPS |
Comportamento variável, dependendo do sistema operacional |
A configuração de ordenação é definida como false |
|
Impressora física |
A configuração de ordenação é definida como false |
A configuração de ordenação é definida como false |
Depois de instalar esse hotfix
|
Impressora |
A propriedade PrintDialog.UseEXDialog é definida como false |
A propriedade PrintDialog.UseEXDialog é definida como true |
|
Gravador XPS |
Comportamento variável, dependendo do sistema operacional |
A configuração de ordenação é definida como true |
|
Impressora física |
A configuração de ordenação é definida como true |
A configuração de ordenação é definida como true |
Referências
Para obter mais informações sobre a propriedade PrintDialog.PrinterSettings, acesse o seguinte site do MSDN:
Informações gerais sobre a propriedade PrintDialog.PrinterSettingsPara obter mais informações sobre a caixa de diálogo Imprimir , acesse o seguinte site do MSDN: