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
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