Strona Główna   
 Vortal OSBeta.org  ·   Statystyki  ·   RSS  ·   Regulamin  ·   Chat  ·    Profil  ·   Zaloguj się, by sprawdzić wiadomości  ·  Zaloguj    




Poprzedni temat «» Następny temat
Piszemy prostą przeglądarkę internetową
Autor Wiadomość
^Viper 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 566
Skąd: New York


Wysłany: 2006-11-05, 17:46   Piszemy prostą przeglądarkę internetową

Witam
Zaprezentuje wam projekt bardzo prostej przeglądarki internetowej

Język programowania C# oprogramowania Visual Studio NET 2005

Zaczynamy

Tworzymy nowy projekt aplikacji okienkowej oraz nadajemy jemu jakąś nazwę.


Gdy zobaczymy formularz należy go powiększyć żeby okno pomieściło sensownych rozmiarów przeglądarkę.
Na formularz należy przeciągnąć kontrolkę WebBrowser



wtedy kontrolka zapełni nam całą Formę dla tego możemy znieść zakotwiczenie poleceniem Undock.
Do formy przeciągamy jeszcze kontrolke Button (3x Wstecz, Dalej, Stop)
oraz TextBox (wpisywanie adresu URL)

Teraz gdy mamy wszystko poukładane należy napisać zdarzenia do kontrolek

dla Buttonów

Stop
Cytat:

private void btnStop_Click(object sender, EventArgs e)
{
webBrowser1.Stop();
}

private void btnWstecz_Click(object sender, EventArgs e)
{
webBrowser1.GoBack();
}

private void btnWstecz_Click(object sender, EventArgs e)
}
webBrowser1.GoForward();
{

Teraz pozostaje nam ostatnia czynność to dopisanie zdarzenia do kontrolki TextBox

private void TextBox1_Click(object sender, EventArgs e)
{
Navigate(TextBox1.Text);
}
private void Navigate(String address)
{
if (String.IsNullOrEmpty(address)) return;
if (address.Equals("about:blank")) return;
if (!address.StartsWith("http://") &&
!address.StartsWith("https://"))
{
address = "http://" + address;
}
try
{
webBrowser1.Navigate(new Uri(address));
}
catch (System.UriFormatException)
{
return;
}
}

Teraz nasza przeglądarka jest już gotowa do pracy lecz można dopisać więcej zdażeń takich jak drukowanie, strona główna i inne.
 
 
     
Merr 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 297


Wysłany: 2006-11-05, 19:15   

A masz swoją kontrolkę webBrowswer czy z FF albo IE ??




_________________
 
     
^Viper 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 566
Skąd: New York


Wysłany: 2006-11-05, 19:44   

kontrolka jest z IE lecz jeżeli nie damy niektórych funkcji to będzie bardzo bezpieczna przeglądarka




_________________
 
 
     
Mu$er21 


Pomógł: 5 razy
Dołączył: 06 Lut 2007
Posty: 313
Skąd: Biała Podlaska


Wysłany: 2007-03-11, 18:58   

Dasz plik EXE jak to wygląda?




_________________




Proszę nie pisać bez potrzeby na Gadu-Gadu - można pisać tylko jak jestem dostępny.
 
 
     
rneo24 


Dołączył: 13 Lip 2006
Posty: 71


Wysłany: 2007-04-09, 18:30   

Chce stworzyć prosta przeglądarke oparta na silniku Mozilli, uzywałem tego przykładu lecz do konca ona nie działa, stworzyłem button Idź który ma pobierac adres z pole Adres i wyswietliec ponizej
O to kod:
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            axMozillaBrowser1.GoBack();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            axMozillaBrowser1.GoForward();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            axMozillaBrowser1.Tutaj ma byc polecenbie pobierajace adres;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            axMozillaBrowser1.Stop();
        }
    }
}

Kod:
namespace WindowsApplication6
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
            this.axMozillaBrowser1 = new AxMOZILLACONTROLLib.AxMozillaBrowser();
            this.panel1 = new System.Windows.Forms.Panel();
            this.button4 = new System.Windows.Forms.Button();
            this.button3 = new System.Windows.Forms.Button();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.button2 = new System.Windows.Forms.Button();
            this.button1 = new System.Windows.Forms.Button();
            ((System.ComponentModel.ISupportInitialize)(this.axMozillaBrowser1)).BeginInit();
            this.panel1.SuspendLayout();
            this.SuspendLayout();
            //
            // axMozillaBrowser1
            //
            this.axMozillaBrowser1.Enabled = true;
            this.axMozillaBrowser1.Location = new System.Drawing.Point(1, 63);
            this.axMozillaBrowser1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMozillaBrowser1.OcxState")));
            this.axMozillaBrowser1.Size = new System.Drawing.Size(651, 483);
            this.axMozillaBrowser1.TabIndex = 5;
            //
            // panel1
            //
            this.panel1.Controls.Add(this.button1);
            this.panel1.Controls.Add(this.button2);
            this.panel1.Controls.Add(this.textBox1);
            this.panel1.Controls.Add(this.button3);
            this.panel1.Controls.Add(this.button4);
            this.panel1.Location = new System.Drawing.Point(0, 0);
            this.panel1.Name = "panel1";
            this.panel1.Size = new System.Drawing.Size(652, 61);
            this.panel1.TabIndex = 6;
            //
            // button4
            //
            this.button4.Location = new System.Drawing.Point(548, 34);
            this.button4.Name = "button4";
            this.button4.Size = new System.Drawing.Size(45, 23);
            this.button4.TabIndex = 4;
            this.button4.Text = "Idź";
            this.button4.UseVisualStyleBackColor = true;
            this.button4.Click += new System.EventHandler(this.button4_Click);
            //
            // button3
            //
            this.button3.Location = new System.Drawing.Point(599, 34);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(45, 23);
            this.button3.TabIndex = 8;
            this.button3.Text = "Stop";
            this.button3.UseVisualStyleBackColor = true;
            this.button3.Click += new System.EventHandler(this.button3_Click);
            //
            // textBox1
            //
            this.textBox1.Location = new System.Drawing.Point(115, 35);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(427, 20);
            this.textBox1.TabIndex = 9;
            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(62, 32);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(47, 23);
            this.button2.TabIndex = 10;
            this.button2.Text = "Dalej";
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(3, 32);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(53, 23);
            this.button1.TabIndex = 11;
            this.button1.Text = "Wstecz";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(648, 544);
            this.Controls.Add(this.panel1);
            this.Controls.Add(this.axMozillaBrowser1);
            this.Name = "Form1";
            this.Text = "Form1";
            ((System.ComponentModel.ISupportInitialize)(this.axMozillaBrowser1)).EndInit();
            this.panel1.ResumeLayout(false);
            this.panel1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private AxMOZILLACONTROLLib.AxMozillaBrowser axMozillaBrowser1;
        private System.Windows.Forms.Panel panel1;
        private System.Windows.Forms.Button button4;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Button button3;
    }
}





_________________
Ostatnio zmieniony przez rneo24 2007-04-09, 18:33, w całości zmieniany 2 razy  
 
     
^Viper 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 566
Skąd: New York


Wysłany: 2007-04-09, 20:14   

a skąd masz webbrowser mozilli jak co do zapodaj to sobie coś ekstra napiszę




_________________
 
 
     
Grzesiek1 


Pomógł: 29 razy
Dołączył: 11 Lip 2006
Posty: 2292


Wysłany: 2007-04-09, 20:52   

Masz standardowo w Vistaul studio.




_________________
OSBeta.org
 
     
^Viper 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 566
Skąd: New York


Wysłany: 2007-04-09, 21:22   

tak tą z IE a nie ma z FF ?




_________________
 
 
     
Grzesiek1 


Pomógł: 29 razy
Dołączył: 11 Lip 2006
Posty: 2292


Wysłany: 2007-04-09, 22:12   

Tools -> Choose Toolbox Items...
zakładka COM components
Tam masz na liście MozillaBrowser Class




_________________
OSBeta.org
 
     
^Viper 


Pomógł: 2 razy
Dołączył: 13 Lip 2006
Posty: 566
Skąd: New York


Wysłany: 2007-04-09, 22:49   

aha dzięki




_________________
 
 
     
Mu$er21 


Pomógł: 5 razy
Dołączył: 06 Lut 2007
Posty: 313
Skąd: Biała Podlaska


Wysłany: 2007-06-06, 18:13   

Ponawiam:
Cytat:
Dasz plik EXE jak to wygląda?




_________________




Proszę nie pisać bez potrzeby na Gadu-Gadu - można pisać tylko jak jestem dostępny.
 
 
     
Grzesiek1 


Pomógł: 29 razy
Dołączył: 11 Lip 2006
Posty: 2292


Wysłany: 2007-06-06, 18:54   

Mu$er21, To jest sam początek, opisany w najprostszy sposób, w dodatku na silniku IE.
Wygląd w tym stadium jak i wszystko inne możesz sam modyfikować.
Ale chciałeś przykładowe exe to masz, 5min i zrobione.

Pobierz szkic przeglądarki w formacie exe




_________________
OSBeta.org
 
     
Mu$er21 


Pomógł: 5 razy
Dołączył: 06 Lut 2007
Posty: 313
Skąd: Biała Podlaska


Wysłany: 2007-06-11, 17:36   

Grzesiek1, dzięki.

Tylko że trzeba mieć NET Framework 2.0!!
Cytat:
---------------------------
.NET Framework Initialization Error
---------------------------
To run this application, you first must install one of the following versions of the .Net Framework:

v2.0.50727

Contact your application publisher for instructions about obtaining the appropriate version of the .Net Framework.
---------------------------
OK
---------------------------




_________________




Proszę nie pisać bez potrzeby na Gadu-Gadu - można pisać tylko jak jestem dostępny.
 
 
     
Grzesiek1 


Pomógł: 29 razy
Dołączył: 11 Lip 2006
Posty: 2292


Wysłany: 2007-06-11, 20:19   

Tak, to normalne że wymaga NET Framework 2.0 .




_________________
OSBeta.org
 
     
Mu$er21 


Pomógł: 5 razy
Dołączył: 06 Lut 2007
Posty: 313
Skąd: Biała Podlaska


Wysłany: 2007-06-12, 13:53   

Grzesiek1, ja tylko informuję innych.




_________________




Proszę nie pisać bez potrzeby na Gadu-Gadu - można pisać tylko jak jestem dostępny.
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group - Mapa Forum
Template modified by Grzesiek1