viernes, 31 de diciembre de 2010

Navegador en Visual C#

Hola a todos, hoy les voy a presentar como hacer un navegador muy fácil en visual C#


Lo primero que van a hacer es abrir su editor de C# y darle click en crear nuevo proyecto, nos cercioramos de que seleccionamos "Windows form Application" o "aplicasion para de windows" según este en español o ingles y le ponemos un nombre a nuestro proyecto por ejemplo Navegador.




Después le jalamos las esquinas a esa ventana o form para hacerla mas grande.


Luego añadimos al form, de la barra de herramientas de la izquierda arrastramos la herremienta llamada WebBrowser. Nos daremos cuenta de que abarcará todo el espacio del form asi que le modificaremos su propiedad Anchor y nos cercioraremos de que los 4 rectángulos estén seleccionados.


Ahora si podemos modificarle el tamaño a nuestro gusto al WebBrowser.


Ahora  le agregamos una caja de texto (TextBox) y los botones (Button) necesarios. Los seleccionamos cada uno y les cambiamos el nombre en la propiedad Text, el color en la propiedad BackColor y el color de letra en la propiedad ForeColor. y si se le quiere cambiar tambien la fuente del texto, el estilo de fuente y el tamaño sería en la propiedad Font.


Ya teniendo el diseño talvez les quedo algo asi mas o menos con sus respectivos favoritos:


Para que al correr la aplicasion salga maximizada al form se le debe cambiar la propiedad WindowState a Maximized.


Antes de programar es recomendable ponerle un nombre a cada boton para que en lugar de ser button1 sea por ejemplo bt_ir o en lugar de ser button2 sea bt_inicio y asi el codigo sera major entendido por otros o por ti si deseas modificarlo despues de un tiempo.




Ahora si a programar.


Demos doble clik a cada boton para programarle su funcion y por ejemplo en el caso del boton ir aparecera esto:
private void bt_ir_Click(object sender, EventArgs e)

        {            
        }

y entre las llaves se le agregara el codigo correspondiente quedando asi:
private void bt_ir_Click(object sender, EventArgs e)

        {
            webBrowser1.Navigate(textBox1.Text);
        }



Entonces los codigos son los siguientes


boton ir => webBrowser1.Navigate(textBox1.Text);


boton cancelar => webBrowser1.Stop();


boton recargar => webBrowser1.Refresh();


boton atraz => webBrowser1.GoBack();


boton adelante => webBrowser1.GoForward();


boton inicio => webBrowser1.GoHome();


boton acerca de.. 
           MessageBox.Show("Navegador ?????\n\nHecho por:\n[Nombre aqui]\n\nAño 201?"); 


boton Facebook (y cualquier otro botón de enlace personalizado) 

            webBrowser1.Navigate("http://www.facebook.com");
            textBox1.Text="http://www.facebook.com";



boton propiedades
           webBrowser1.ShowPropertiesDialog();



boton imprimir
           webBrowser1.ShowPrintPreviewDialog();

boton Guardar
           webBrowser1.ShowSaveAsDialog();



boton abrir
            OpenFileDialog abrir = new OpenFileDialog();
            abrir.Title = "Abrir pagina web - Navegador DaNieL";
            abrir.AddExtension=true;
            abrir.Filter = "Cualquier archivo (*.*)|*.*|archivos HTML (*.html,.*htm)|*.htm;*.html|Archivos de texto (*.Txt)|" +
              "*.txt|GIF (*.Gif)|*.gif|JPEG (*.jpeg)|*.jpg;*.jpeg|" +
              "PNG (*.Png)|*.png|ART (*.Art)|*.art|AU Files|*.au|" +
              "AIFF Files|*.aiff;*.aif|XBM Files|*.xbm";
            abrir.FilterIndex = 1;
            abrir.RestoreDirectory = true;
            if(abrir.ShowDialog()==DialogResult.OK)
            {
                webBrowser1.Navigate(abrir.FileName);
            }


Para que el navegador se dirija a la direccion escrita en el textboxt con solo apretar la tecla enter se debe hacer lo siguiente:


Seleccionar el TextBoxt y en la barra de propiedades, en la seccion de eventos señalado por un rayo darle doble clik en el evento KeyDown


y entre las llaves escribir el siguiente codigo entre las llaves:



            if (e.KeyCode==Keys.Enter)
                        {
                            webBrowser1.Navigate(textBox1.Text);
                        }



Y aun falta algo. nuestro navegador no actualiza las direcciones. asi que tenemos que hacer lo siguiente:


Seleccionamos el WebBrowser y en la barra de propiedades en la seccion de eventos damos doble clik en el evento Navigated
y escribimos el siguiente codigo entre las llaves


          textBox1.Text = webBrowser1.Url.ToString();


*Y LISSSTO*


Y pos bueno si no se entendió algo aqui les dejo el vídeo de como lo hice



6 comentarios:

  1. Hola ezequiel esta muy buenisimo este tutorial te quedo salvaje men felicidades men te pasastes con este tutorial te doy la calificacion maxima un 10+. seria bueno que el navegador implemente pestañas me hace falta eso ami. me pidieron un webbrwser en c# con tabcontrol.

    ResponderEliminar
  2. con tab+control...
    mmmm
    ok
    http://www.megaupload.com/?d=K9INMWSD
    chekalo
    hay te dejo el proyecto
    ya nomas lo corres y compilas con el editor
    y soy EZQUIVEL!!!!

    ResponderEliminar
  3. ahhh uy bueno hice uno antes de ver el tuyo con unos videos tutoriales de youtube pero el tuya esta mucho mejor que el mio. x ejemplo como hago para capturar la url de la pagina en la q estoy y ver en mi barra de url y segundo como asignarle ese nombre a la pestaña y como darle combinacion de tecla a los botones por ejempo ctrl+t nueva pestaña etc.

    me interesaria solo el codigo nada mas si lo pones x aqui gracias x el proyecto

    ResponderEliminar
  4. en el archivo viene el Todo el código para que lo cheques, ahí lo puse solo lo abres con el editor de c# y ya, detodosmosdos cualquier duda me avisas aqui o al correo super_daniel_1@hotmail.com o a mi facebook

    ResponderEliminar
  5. ok perfecto ya mmira quisiera que me ayudaras kn un datagriwview. la cosa es asi tengo 3 form una clase donde asigno los set y get una clase archivo que es para guardar los datos. etc ahi todo bien veo el fichero en las columnas correspodiente ahi todo bien la cosa es esta:

    como hago que al seleccionar una fila del datagriw view vea el contenido de esta en otro form3 ya que form1 es donde ingreso los datos el form 2 es el datagriw y el form3 es donde tenog que visualizar la fila que selecciono.

    Si tenes un ejemplo asi parecido que hago eso lo subres me lo bajo y listo me seria de gran ayuda lo mas pronto posible me hace falta eso para terminar mi proyecto

    ResponderEliminar
  6. Hermano, yo no sé nada de C#, espero puedas darme un consejo, necesito abrir links, pero quiero hacerlo en un mismo webbrowser. Pues puedo hacerlo, pero cada vez que se abre un link, se abre un nuevo webbrowser.

    Gracias.

    ResponderEliminar