Você está aqui: C# ::: Windows Forms ::: WebBrowser |
Como retornar ou definir o conteúdo de uma caixa de texto (input type="text") em um controle WebBrowserQuantidade de visualizações: 9807 vezes |
|
Nesta dica mostrarei como é possível obter ou definir o conteúdo de caixas de texto de linha única (input type="text") em um documento HTML carregado em um controle WebBrowser. Comece criando a seguinte página HTML: <html> <head> <title>Manipulando elementos HTML usando C#</title> </head> <body> <form name="cadastro" method="post" action=""> <input type="text" name="usuario" /> </form> </body> </html> Note que aqui nós temos um formulário com o nome de "cadastro" e dentro deste temos uma caixa de texto com o nome "usuario". Veja o trecho de código C# que carrega esta página em um controle WebBrowser e em seguida define o texto "Arquivo de Códigos" para a caixa de texto:
private void button1_Click(object sender, EventArgs e){
// vamos carregar o documento HTML a partir de um diretório local
webBrowser1.Navigate(new Uri(@"c:arquivo de codigospagina.html"));
}
private void button2_Click(object sender, EventArgs e){
// vamos definir o conteúdo "Arquivo de Códigos" para a caixa de texto
// vamos obter o documento
HtmlDocument doc = webBrowser1.Document;
// vamos obter o formulário - aqui estamos acessando o primeiro form
// na página HTML
HtmlElement form = doc.Forms[0];
// vamos obter a caixa de texto - neste caso a primeira caixa de texto
HtmlElement txtUsuario = form.GetElementsByTagName("input")[0];
// vamos definir o valor da caixa de texto
txtUsuario.SetAttribute("value", "Arquivo de Códigos");
}
No trecho de código acima eu fiz passo-a-passo, mas, podemos fazer tudo isso em apenas uma linha (adicionei uma quebra de linha devido a restrição de espaço horizontal). Veja:
// vamos definir o conteúdo "Arquivo de Códigos" para a caixa de texto
webBrowser1.Document.Forms[0].GetElementsByTagName("input")[0].
SetAttribute("value", "Arquivo de Códigos");
Vejamos agora como obter o conteúdo da caixa de texto. Para isso só precisamos alterar uma linha de código no evento Click do segundo botão:
private void button2_Click(object sender, EventArgs e){
// vamos obter o conteúdo da caixa de texto
// vamos obter o documento
HtmlDocument doc = webBrowser1.Document;
// vamos obter o formulário - aqui estamos acessando o primeiro form
// na página HTML
HtmlElement form = doc.Forms[0];
// vamos obter a caixa de texto - neste caso a primeira caixa de texto
HtmlElement txtUsuario = form.GetElementsByTagName("input")[0];
// vamos obter o valor da caixa de texto
string valor = txtUsuario.GetAttribute("value");
// vamos mostrar o resultado
MessageBox.Show("O valor da caixa de texto é: " + valor);
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
|
C - Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





