C# Web Tarayıcı Yapımı

C# Web Tarayıcı Yapımı



Yaklaşık iki sene önce yapmış olduğum web tarayıcım arşivimde duruyordu.Ben de arşivde boş boş duracağına blogumda paylaşayım dedim.İşinize yarar diye düşünüyorum.
Tarayıcı sekmelidir."+" ya bastığınızda yeni sekme açılıyor.
Sekme de site ismi yazıyor.
Ufak tefek eksikleri olsada, siz üzerinde geliştirmeler yaparak tarayıcıyı daha iyi bir hale getirebilirsiniz.Yada işinize yarabilecek kodları alıp kendi yapmış olduğunuz yada yapacak olduğunuz tarayıcıya ekleyebilirsiniz.

Kaynak Kodlar

public partial class AnaForm : Form
{
    public AnaForm()
    {
        InitializeComponent();
        this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea;
        this.WindowState = FormWindowState.Maximized;
    }
    TabPage yeniTabpage;
    FormIcineAcilacaklar acilacakForm;
    byte tabOlusturmaSayisi = 1;
    public int pageIndex = 1;
    TabControl tiklanan;

    private void AnaForm_Load(object sender, EventArgs e)
    {
        AddNewTab();
        tabControl.SelectedIndex = 1;
    }

    //aşağıda tabpage oluşturuluyor.
    public void AddNewTab()
    {         
        yeniTabpage = new TabPage("Yeni Sekme");
        yeniTabpage.Name = "tabNewPage" + tabOlusturmaSayisi;
        tabControl.ItemSize = new Size(180, 25);
        tabControl.TabPages.Add(yeniTabpage);
        //tabpage formu açma
        acilacakForm = new FormIcineAcilacaklar();
        acilacakForm.TopLevel = false;
        acilacakForm.Dock = DockStyle.Fill;
        acilacakForm.Show();
        yeniTabpage.Controls.Add(acilacakForm);
        tabOlusturmaSayisi++;
    }

    public void tabPageIsminiGetir()
    {
        FormIcineAcilacaklar form = (FormIcineAcilacaklar)Application.OpenForms["FormIcineAcilacaklar"];
        tabControl.TabPages[pageIndex].Text = form.title;
    }

    //seçili olan tabPageyi bulma
    public void tabControl_Click(object sender, EventArgs e)
    {
        tiklanan = (TabControl)sender;
        pageIndex = tiklanan.SelectedIndex;
        FormIcineAcilacaklar form = (FormIcineAcilacaklar)Application.OpenForms["FormIcineAcilacaklar"];
        form.title = "";
    }

    //new tabpage e basıldıgında yeni tabpage yükleniyor
    public void tabControl_Selected(object sender, TabControlEventArgs e)
    {
        if (tabControl.SelectedTab == tabNewPage)
        {
            AddNewTab();
        }
    }

    //mouse hareketini yakala
    int x, y;
    private void tabControl_MouseDown(object sender, MouseEventArgs e)
    {
        x = MousePosition.X - this.Left;
        y = MousePosition.Y - this.Top;
        timer1.Enabled = true;
    }

    //timeri başlat
    private void tabControl_MouseUp(object sender, MouseEventArgs e)
    {
        timer1.Enabled = false;
    }

    //mouse ile formu taşı
    private void timer1_Tick(object sender, EventArgs e)
    {
        this.Left = MousePosition.X - x;
        this.Top = MousePosition.Y - y;
    }

    //Ekranı max yap yada normal yap
    private void btnMaxAndNormal_Click(object sender, EventArgs e)
    {
        if (WindowState == FormWindowState.Maximized)
        {
            this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea;
            this.WindowState = FormWindowState.Normal;
        }
        else
        {
            this.MaximizedBounds = Screen.FromHandle(this.Handle).WorkingArea;
            this.WindowState = FormWindowState.Maximized;
        }
    }

    //ekranı minimized yap
    private void btnMinimize_Click(object sender, EventArgs e)
    {
        WindowState = FormWindowState.Minimized;
    }

    //tarayıcıyı kapat
    private void BtnExit_Click(object sender, EventArgs e)
    {
        Application.Exit();
        tabOlusturmaSayisi = 1;
    }
}


public partial class FormIcineAcilacaklar : Form
{
    public FormIcineAcilacaklar()
    {
        InitializeComponent();
    }

    AnaForm form = (AnaForm)Application.OpenForms["Anaform"];
    public string aranan, title;

    private void FormIcineAcilacaklar_Load(object sender, EventArgs e)
    {
        webBrowser1.Navigate("www.google.com");
        title="Google";
        form.tabPageIsminiGetir();
    }

    private void richTxtArama_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            try
            {
                aranan = richTxtArama.Text.ToString();
                if (aranan.StartsWith("www.") && aranan.EndsWith(".com") | aranan.EndsWith(".org") | aranan.EndsWith(".gov"))
                {
                    string adres = "http://" + richTxtArama.Text;
                    webBrowser1.Navigate(adres);
                    title = webBrowser1.DocumentTitle;
                }
                else
                {
                    string arananKelime = "http://www.google.com.tr/search?hl=tr&q=" + richTxtArama.Text;
                    webBrowser1.Navigate(arananKelime);
                    title = richTxtArama.Text + " Google'da Ara";
                    form.tabPageIsminiGetir();
                }
            }
            catch { title = "Hata"; }
        }
    }

    //sayfa yüklenirken
    private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        lbl_Load.Text = "Sayfa yükleniyor...";
    }

    //sayfa yüklendikten sonra
    private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
    {
        lbl_Load.Text = "";
        richTxtArama.Text = e.Url.ToString();
    }

    private void btnYenile_Click(object sender, EventArgs e)
    {
        webBrowser1.Refresh();
    }

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

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

    public void btnAyarlar_Click(object sender, EventArgs e)
    {
        contextMenuAyarlar.Show(btnAyarlar, -contextMenuAyarlar.Width + btnAyarlar.Width, btnAyarlar.Height);
    }

    private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
    {
        webBrowser1.Navigate(webBrowser1.StatusText);
        e.Cancel = true;
    }

    private void toolStripYeniSekme_Click(object sender, EventArgs e)
    {
        form.AddNewTab();
        form.tabPageIsminiGetir();
    }
}


Umarım işinizi görür.İyi kodlamalar!

İNDİR 
  • 0 Blogger
  • Google+
  • Facebook
  • Disqus

Henüz Yorum Yok

Yorum Gönder

comments powered by Disqus

Yayın Üstü Sponsor Reklam

Yayın Ortası Sponsor Reklam

Yayın Ortası Sponsor Reklam 2

Yayın Altı Sponsor Reklam


Bu Makaleyi Beğendinizmi ?