Kendi Web Browserımızı Yazalım
Bu yazımda her ne kadar Internet Explorer ya da Firefox kadar iddialı olmasa da işimizi büyük ölçüde görecek bir Browser yazalım. Bunun için ToolBox içerisindeki WebBrowser kontrolü tam bize göre.

Proje sonunda aşağıdaki gibi bir görüntü ile karşılaşacaksınız.

kendi-web-browserimizi-yazalim-csharp-1

kendi-web-browserimizi-yazalim-csharp-1

Şimdi aynı görüntüyü adım adım oluşturalım.
1.Adım: Bir adet Windows Form Uygulaması Oluşturunuz.
2.Adım: Formunuza Toolbox’tan 3 Adet ToolStrip Kontrolü yerleştiriniz ve üçüncüsünün DOCK özelliğini top yerine Bottom yapınız. Bu şekilde resimdeki gibi Formun altına yerleşecektir. En üstteki ToolStrip Kontrolündeki kontrollerden bir adet DropDownButton ekleyiniz. Daha sonra sağ tıklayıp Display Style özelliğini resimdeki gibi Text yapınız. Text özelliğini “Seçenekler” yapınız ve içerisine menu elemanı ekleyiniz. Menu elemanına ait Text “Kaynağı Göster” olsun.

kendi-web-browserimizi-yazalim-csharp-2

kendi-web-browserimizi-yazalim-csharp-2

İkinci ToolStrip Kontrolüne ise “<”,”>”,”Git”,”Dur”,”Yenile” butonları için birer ToolStripButton yerleştiriniz. Ve “<”,”>” butonlarından hemen sonraki kısma bir adet TextBox ekleyiniz.

En alttaki ToolStrip kontrolüne ise bir adet Progressbar ekleyiniz.

3.Adım: Sayfanın ortasına bir adet Panel ekleyip Dock özelliğini Fill yapınız. Panelin içerisine bir adet WebBrowser kontrolü ekleyiniz. Onunda Dock özelliğinin Fill olması gerekiyor.

4.Adım: Aşağıdaki kodları ilgili Kontrollerin ilgili eventlerine yazınız. Hangi kontrole yazılacağını Event isiminin hemen yanında belirtiyorum.

* “Git” Butonunun Click Eventine

private void toolStripButton2_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(toolStripTextBox1.Text);
}
* “Dur” Butonunun Click Eventine
private void toolStripButton4_Click(object sender, EventArgs e)
{
webBrowser1.Stop();
}
* “Yenile” Butonunun Click Eventine
private void toolStripButton5_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();
}
* İkinci ToolStripteki TextBox’ın Keypress Eventine
private void toolStripTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)//Enter’a basıldıysa
{
webBrowser1.Navigate(toolStripTextBox1.Text);
}
}
* “Kaynağı Göster” Butonunun Click Eventine
private void kaynağıGösterToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show(webBrowser1.DocumentText);
}

* WebBrowser’ın ProgressChanged Eventine
private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
toolStripProgressBar1.Maximum = (int)e.MaximumProgress;
toolStripProgressBar1.Value = (int)e.CurrentProgress;
this.Text = webBrowser1.DocumentTitle;
}
Burada e.MaximumProgress Değeri İşlem sonuna kadar harcanacak Byte değerini döndürür.
e.Value ise o ana kadar indirilmiş Byte değerini gösterir.
webBrowser1.DocumentTitle ise sayfanın Title Tag’ındaki Değeri döndürür.

* Form’un Load Eventine
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.GoHome();
}

* “<” Butonunun Click Eventine private void toolStripButton1_Click(object sender, EventArgs e) { webBrowser1.GoBack(); } * “>” Butonunun Click Eventine
private void toolStripButton3_Click(object sender, EventArgs e)
{
webBrowser1.GoForward();
}
Sonuç olarak aşağıdakine benzer bir görüntü ile karşılaşmanız gerekiyor.

kendi-web-browserimizi-yazalim-csharp-3

kendi-web-browserimizi-yazalim-csharp-3

Diğer yazılarımda görüşmek üzere.