Você recebe uma mensagem de erro "exceção sem tratamento do tipo 'System.Runtime.InteropServices.SEHException'" ao chamar o método Application.EnableVisualStyles no Visual Basic 2005 ou no Visual Basic .NET

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 897298
Sintomas
No Microsoft Visual Basic 2005 e no Microsoft Visual Basic .NET, quando você chama o método Application.EnableVisualStyles de evento Form_Load ou de qualquer outro evento, você receber uma mensagem de erro semelhante à seguinte:
Ocorreu uma exceção sem tratamento do tipo 'System.Runtime.InteropServices.SEHException' em system.windows.forms.dll
Observação Esse problema ocorre quando as seguintes condições forem verdadeiras:
  • O evento chama o método Application.EnableVisualStyles novamente.
  • O evento chama o método Application.EnableVisualStyles quando um formulário é carregado ou após um formulário é carregado.
Como Contornar
Para contornar esse problema, use um dos seguintes métodos:
  • Reorganize seu código para que você apenas chamar o método EnableVisualStyles uma vez antes de carregar qualquer formulário. O exemplo de código a seguir ilustra como organizar seu código:
    Public Sub Main()Application.EnableVisualStyles()Application.Run(New frmMain)	     'Note: The frmMain form is the first form to open.End Sub
  • Criar e adicionar um XML arquivo de manifesto como um recurso que permite que seu aplicativo para usar estilos visuais. Para fazer isso, execute as seguintes etapas:
    1. Vincular a ComCtl32.lib e, em seguida, chamar a função InitCommonControlsEx .
    2. Adicione um arquivo chamado YourApp.exe.manifest que tenha o XML de manifesto de formato à árvore de origem. Árvore de origem deve ser semelhante ao exemplo de código a seguir:
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentity    version="1.0.0.0"    processorArchitecture="X86"    name="CompanyName.ProductName.YourApplication"    type="win32"/><description>Type your application description here.</description><dependency>    <dependentAssembly>        <assemblyIdentity            type="win32"            name="Microsoft.Windows.Common-Controls"            version="7.0.0.0"            processorArchitecture="X86"            publicKeyToken="6595b64144ccf1df"            language="*"        />    </dependentAssembly></dependency></assembly>
    3. Adicionar o manifesto XML ao arquivo de recurso do seu aplicativo usando o exemplo de código a seguir:
      CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "YourApp.exe.manifest"
      Observação você deve adicionar esta linha de código em uma linha. Como alternativa, você pode colocar o arquivo de manifesto XML na mesma pasta que o arquivo executável do seu aplicativo. O sistema operacional carrega o manifesto XML do sistema de arquivos. Em seguida, o sistema operacional examina a seção de recursos do arquivo executável. A versão de sistema do arquivo tem precedência.
Mais Informações
Você pode receber a mesma mensagem de erro descrita na seção "Sintomas" quando você usa o método ShowDialog para abrir um formulário. Para contornar esse comportamento, use o método Show em vez do método ShowDialog .

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 897298 - Última Revisão: 12/06/2006 23:18:25 - Revisão: 2.3

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbvs2005swept kbvs2005applies kbprb KB897298 KbMtpt
Comentários