Incrustar una web en un formulario

El otro día me pidieron si era posible abrir una web desde un formulario, en ese momento, me acordé que existía un método que te abría una url, pero el usuario lo que deseaba era tener una web incrustada en un formulario.  Así que empecé a darle vueltas a la cabeza hasta que me vino a la mente los controles ActiveX, la verdad es que era algo muy simple, pero que me gustaría compartir con los que visitáis este blog.

Manos a la obra!

Lo primero será crearnos un formulario y agregarle un control ActiveX.




Buscaremos el control Microsoft Web Browser y lo agregaremos.




Si queremos ver los posibles eventos/métodos del control sólo debemos presionar sobre el control e ir a ActiveX Explorer.



En este formularios si buscamos encontraremos que tenemos un método que se llama Navigate, que será el que utilizaremos.



Anularemos el método init del formulario e insertaremos la siguiente línea de código.


public void init()
{

    super();


    WebActiveX.Navigate("http://axlearn2012.blogspot.com.es/");
}

Recordad que para poder llamar al control, éste debe tener la propiedad AutoDeclaration a Yes


Al arrancar el formulario se nos abrirá la URL indicada en el método Navigate.



Para que el formulario se puede expandir  modificar las siguientes propiedades.




Existen distintos métodos que podemos utilizar, para probar, he creado dos botones para llamar a los métodos que nos mueven por los anteriores registros visitados en la web.


Aquí está el código de estos dos botones.

void clicked()
{
   WebActiveX.GoBack();
}

  
void clicked()
{

   WebActiveX.GoForward();

}


Con esto y adornando un poco los botones, nuestro formulario tendrá el siguiente aspecto y al presionar los botones, visitaremos los enlaces ya visitados.





PD: Se debería controlar que existiera un enlace anterior/posterior sino os dará un error pero eso os lo dejo a vosotros.

Si queréís saber un poco más sobre los controles ActiveX podéis visitar el siguiente post





Comentarios