Como manipular eventos de documento em um aplicativo do Visual translation from VPE for Csharp .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: 312777
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 311284.

NESTA TAREFA

Sumário
Este artigo descreve como capturar eventos de documento para o controle WebBrowser no Microsoft Visual translation from VPE for Csharp. NET.

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Visual Studio .NET
  • Internet Explorer 5.5 Service Pack 2 (SP2) ou versão posterior
Este artigo também pressupõe que você esteja familiarizado com os seguintes produtos:
  • O Visual Studio .NET
  • Internet Explorer
  • O controle WebBrowser

Descrição da técnica

O controle WebBrowser é fácil de trabalhar no Visual Studio .NET ou Microsoft Visual Studio. Mas manipulação de eventos do controle WebBrowser no Visual Studio .NET pode ser confuso inicialmente. Próprios eventos são expostos pela interface de evento Mshtml.HTMLDocumentEvents2_Event. Essa interface expõe a maioria dos eventos de documento que devem ser tratados em seu aplicativo.

Para manipular o evento, você deve criar sua própria função que você pode chamar quando o evento ocorre. Você deve corresponder a assinatura do evento é acionado. Por exemplo, a função a seguir manipula o evento MouseOver do documento:
private void MouseOverEventHandler(mshtml.IHTMLEventObj e)
após o manipulador de eventos está na posição, você deve conectar o evento. Você pode ligar um evento a qualquer momento após o evento DocumentComplete no controle WebBrowser é acionado. Para conectar-se o remetente de evento a seu manipulador de eventos, você deve configurar um delegado. Delegados são seguros, com segurança avançada, objetos que apontam para um método gerenciado. O exemplo de código a seguir demonstra a conexão com o método MouseOverEventHandler o evento MouseOver do documento:
mshtml.HTMLDocumentEvents2_Event iEvent;iEvent.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(MouseOverEventHandler);

Criar o projeto e, em seguida, adicione código

O exemplo de código a seguir envia o controle WebBrowser para http://www.microsoft.com. Depois que a página é carregada, ele conecta os eventos OnMouseOver e OnClick e, em seguida, adiciona texto a uma caixa de listagem quando os eventos acionados.
  1. Inicie o Visual Studio NET..
  2. Crie um novo projeto do Visual translation from VPE for Csharp .NET Windows Application.
  3. Na guia COM , adicione uma referência para Microsoft.Mshtml para o projeto.
  4. Na caixa de ferramentas, clique em Geral .
  5. Clique o painel aberto com o botão direito do mouse e clique em Customize Toolbox .
  6. Clique para selecionar a caixa de seleção do Microsoft Web Browser e, em seguida, clique em OK .
  7. Na caixa de ferramentas, clique duas vezes no Explorer .
  8. Na caixa de ferramentas, clique em Windows Forms e, em seguida, clique duas vezes em ListBox .
  9. Organize os controles para que sejam fáceis de exibir no formulário.
  10. Clique duas vezes o formulário para abrir a janela de código para o método Form1_Load . Adicione o seguinte código para o método Form1_Load :
      private void Form1_Load(object sender, System.EventArgs e)		{			object oURL = "http://www.microsoft.com";			object oEmpty = "";			axWebBrowser1.Navigate2(ref oURL, ref oEmpty, ref oEmpty, ref oEmpty, ref oEmpty);		}
  11. No menu Exibir , clique em Designer e, em seguida, clique em WebBrowser .
  12. As propriedades, clique no ícone Events , role para baixo para localizar o evento DocumentComplete , digite DocumentComplete e, em seguida, pressione ENTER. Uma janela de código aparece com um modelo para o evento DocumentComplete .
  13. Digite ou cole o código a seguir na janela de código:
    		private void axWebBrowser1_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)		{			mshtml.HTMLDocument doc; 			doc = (mshtml.HTMLDocument)axWebBrowser1.Document;			mshtml.HTMLDocumentEvents2_Event iEvent;			iEvent = (mshtml.HTMLDocumentEvents2_Event) doc;			iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler);			iEvent.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(MouseOverEventHandler);			listBox1.Items.Clear();		}					
  14. Adicionar as seguintes funções ao projeto na classe Form1 :
    		private bool ClickEventHandler(mshtml.IHTMLEventObj e)		{			listBox1.Items.Insert(0, e.type + ":" + e.srcElement.tagName);			return true;		}		private void MouseOverEventHandler(mshtml.IHTMLEventObj e)		{			listBox1.Items.Insert(0, e.type + ":" + e.srcElement.tagName);		}					

Anotações

  • Se você estiver automatizando o Internet Explorer, o processo é o mesmo. Em vez de usar axWebBrowser1 , você usar seu nome de variável local para o Internet Explorer.
  • Este exemplo não leva em conta para conjuntos de quadros. Quando você abre um conjunto de quadros, você não poderá ver os eventos em seu aplicativo. Nesse caso, você deve adicionar código para manipular a chance de conjuntos de quadros.
Referências
Para obter mais informações sobre o controle WebBrowser e os métodos, propriedades e eventos que ele expõe, visite o seguinte site da Web Microsoft Developer Network (MSDN): Para obter mais informações sobre como lidar com eventos no Microsoft .NET Framework, visite o seguinte site da MSDN:

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 312777 - Última Revisão: 12/07/2015 08:11:05 - Revisão: 4.3

Microsoft Visual C# .NET 2002 Standard Edition

  • kbnosurvey kbarchive kbmt kbcontrol kbevent kbprogramming kbhowtomaster KB312777 KbMtpt
Comentários