C# Web Tarayıcı Yapımı

İbrahim     23 Nisan 2017     2780     0    
web tarayıcı yapımı, web browser yapımıYaklaşık bir 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


Etiketler:  
csharp
web-tarayici-yapimi
webbrowser


Paylaş:  

Bir Cevap Yazın