Foros del Web » Programación para mayores de 30 ;) » .NET »

Colorear en WebBrowser. | VB .NET

Estas en el tema de Colorear en WebBrowser. | VB .NET en el foro de .NET en Foros del Web. Bueno, estoy haciendo un navegador con el control WebBrowser en VB .NET Necesito saber, como hacer para que el usuario busque una palabra en el ...
  #1 (permalink)  
Antiguo 03/04/2009, 10:37
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
De acuerdo Colorear en WebBrowser. | VB .NET

Bueno, estoy haciendo un navegador con el control WebBrowser en VB .NET

Necesito saber, como hacer para que el usuario busque una palabra en el texto del webbrowser, y a partir de ésto, que si se encuentra la palabra, la coloree con un color, o la seleccione!

Por ejemplo:

El usuario busca la palabra "Foros" en Google. Si el resultado se encuentra, que se coloree la palabra Foros.

Espero que me puedan ayudar, hace bastante quiero hacer esto y nunca me salió :S

Suerte.
  #2 (permalink)  
Antiguo 03/04/2009, 11:12
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Colorear en WebBrowser. | VB .NET

mira este ejemplo te sera de mucha ayuda

http://www.nablasoft.com/alkampfer/i...owser-control/
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 03/04/2009, 12:09
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Colorear en WebBrowser. | VB .NET

Me ayudarían a traducir el código a VB .NET?

Porque no me funciona

Espero que me puedan ayudar.

Saludos.-
  #4 (permalink)  
Antiguo 14/04/2009, 13:25
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Inyectar HTML?

Bueno, quería saber como inyectarle HTML a una web.

Estoy con un navegador, pero me quedé trabado en la parte de BUSCAR una cadena en el WebBrowser.

COmo podría hacer eso?

http://www.forosdelweb.com/f79/color...4/#post2853056

En ese link me dieron un ejemplo, pero no logro pasar ese código a Visual Basic .NET, espero que alguien me pueda ayudar.

Saludos.-

PD: Yo probé con esto:

Cita:
Dim x As HtmlDocument = WebBrowser1.Document.DomDocument
Dim html As System.Text.StringBuilder = New System.Text.StringBuilder
Dim palabra As String = "Imágenes"
For Each key As String In palabra
Dim substitucion As String = "<span style='background-color: rgb(255, 255, 0);'>" & key & "</span>"
html.Replace(key, substitucion)
Next
x.Body.InnerHtml = html.ToString
Pero igual no me funciona.

Última edición por emma93; 14/04/2009 a las 13:32
  #5 (permalink)  
Antiguo 14/04/2009, 13:41
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Inyectar HTML?

pues ahi esta tu problema haces un for dentro de la palabra Imagenes no dentro de el contenido del documento html

algo como x.ToString() seria tu contenido
palabra= keyareemplazar
x=string.Replace(x.ToString(),palabra,"<span ....>")

o que se yo para lo del x no estoy seguro pero es solo un buscar y reemplazar no mas.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 14/04/2009, 13:56
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Colorear en WebBrowser. | VB .NET

Mirá el error que me da:

Cita:
No se controló System.InvalidCastException
Message="No se puede convertir el objeto COM del tipo 'mshtml.HTMLDocumentClass' al tipo de clase 'System.Windows.Forms.HtmlDocument'. Las instancias de tipos que representan componentes COM no pueden convertirse en tipos que no representan componentes COM; sin embargo, pueden convertirse en interfaces siempre que el componente COM subyacente admita llamadas QueryInterface para el IID de la interfaz."
Source="WindowsApplication1"
StackTrace:
en WindowsApplication1.Form1.Button1_Click(Object sender, EventArgs e) en G:\Users\Administrador\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb:línea 8
en System.Windows.Forms.Control.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnClick(EventArgs e)
en System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
en System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
en System.Windows.Forms.Control.WndProc(Message& m)
en System.Windows.Forms.ButtonBase.WndProc(Message& m)
en System.Windows.Forms.Button.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
en System.Windows.Forms.NativeWindow.DebuggableCallba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
en System.Windows.Forms.UnsafeNativeMethods.DispatchM essageW(MSG& msg)
en System.Windows.Forms.Application.ComponentManager. System.Windows.Forms.UnsafeNativeMethods.IMsoCompo nentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
en System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32 reason, ApplicationContext context)
en System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32 reason, ApplicationContext context)
en System.Windows.Forms.Application.Run(ApplicationCo ntext context)
en Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.OnRun()
en Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.DoApplicationModel()
en Microsoft.VisualBasic.ApplicationServices.WindowsF ormsApplicationBase.Run(String[] commandLine)
en WindowsApplication1.My.MyApplication.Main(String[] Args) en 17d14f5c-a337-4978-8281-53493378c1071.vb:línea 81
en System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
en System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
en Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
en System.Threading.ThreadHelper.ThreadStart_Context( Object state)
en System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
en System.Threading.ThreadHelper.ThreadStart()
InnerException:
Mi código es:

Cita:
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("http://www.google.com.ar")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As HtmlDocument = WebBrowser1.Document.DomDocument
Dim html As System.Text.StringBuilder = New System.Text.StringBuilder
Dim palabra As String = "Imágenes"
x.ToString.Replace(palabra, "*")
x.Body.InnerHtml = html.ToString
End Sub
End Class
Ya me esta cansando esto ¬¬
  #7 (permalink)  
Antiguo 14/04/2009, 14:59
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Colorear en WebBrowser. | VB .NET

DomDocument es un object y si no especificas una conversion de tipos explicita pues por eso te marca ese error

usa Convert o Ctype o alguna de las formas de casteo de object a HtmlDocument.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #8 (permalink)  
Antiguo 14/04/2009, 17:32
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Colorear en WebBrowser. | VB .NET

Cita:
Dim m = CType(WebBrowser1.Document.DomDocument, Object)
Dim x As HtmlDocument = m
Dim html As System.Text.StringBuilder = New System.Text.StringBuilder
Dim palabra As String = "Imágenes"
x.ToString.Replace(palabra, "*")
x.Body.InnerHtml = html.ToString
Tampoco funca, que bajon :S

Ya no se que hacer, por favor ayuda :(
  #9 (permalink)  
Antiguo 14/04/2009, 20:31
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Colorear en WebBrowser. | VB .NET

no no entendiste


Dim m = CType(WebBrowser1.Document.DomDocument, Object)
Dim x As HtmlDocument = m

esto no es asi deberia ser algo como

Dim m = CType(WebBrowser1.Document.DomDocument, HtmlDocument)
Dim x As HtmlDocument = m
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 14/04/2009, 20:55
 
Fecha de Ingreso: abril-2008
Ubicación: Córdoba
Mensajes: 103
Antigüedad: 16 años
Puntos: 4
Respuesta: Colorear en WebBrowser. | VB .NET

No, es imposible.

Bueno che, que macana.

Ya veré que hacer, gracias por su ayuda muchachos.

Fekaa.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:43.