Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

C# 

C# Tabbed Browser Source [+HD Video] - C# > Visual Basic

Video:

HD is processing.

Made in about an hour. Tabs, forward, back, go, (shitty) dropdown history.

Download source: http://www.multiupload.com/IY5UM0VDTB

Windows Form:
Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Collections;

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

        private delegate WebBrowser getBrowser();
        private delegate void button3tf(Boolean tf);
        private delegate void button4tf(Boolean tf);
        ArrayList urls = new ArrayList();
        int timez = 0;
        Thread back;
        Thread forward;

        private int time()
        {
            return Convert.ToInt32((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds);
        }

        private void comboBox1_KeyDown(object sender, KeyEventArgs e)
        {
            int difference = time() - timez;

            if (difference > 3 || timez == 0)
            {
                timez = time();
                dodrop();
            }

            if (e.KeyCode == Keys.Enter)
            {
                WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
                that.Navigate(textBox1.Text);
            }
            else if (e.KeyCode == Keys.Down)
            {
                comboBox1.DroppedDown = true;
            }
            else if (e.KeyCode == Keys.Up)
            {
                comboBox1.DroppedDown = false;
            }
        }

        private void dodrop()
        {
            urls.Sort();

            if (urls.Count >= 1)
            {
                int i = 0;

                ArrayList turls = new ArrayList();
                foreach (String l in urls)
                {
                    if (l.Contains(textBox1.Text))
                    {
                        break;
                    }
                    i++;
                }

                for (int z = 0; z != 10; z++)
                {
                    try
                    {
                        if ((String)urls[i] != "")
                        {
                            turls.Add(urls[i]);
                        }
                    }
                    catch (Exception ex)
                    {
                        // lol error
                    }
                    i++;
                }

                comboBox1.Items.Clear();

                foreach (String l in turls)
                {
                    comboBox1.Items.Add(l);
                }

                if (!comboBox1.DroppedDown)
                {
                    comboBox1.DroppedDown = true;
                }
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox1.Text = comboBox1.Text;
            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            that.Navigate(textBox1.Text);
        }

        private Boolean urlsCont(String check)
        {
            Boolean found = false;

            foreach (String s in urls)
            {
                if (s == check)
                {
                    found = true;
                }
            }

            return found;
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (!urlsCont(e.Url.AbsoluteUri))
            {
                urls.Add(e.Url.AbsoluteUri);
            }

            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            tabControl1.SelectedTab.Text = that.DocumentTitle;
            textBox1.Text = e.Url.AbsoluteUri;
        }

        private void webBrowser1_DocumentSomething(object sender, WebBrowserNavigatedEventArgs e)
        {
            textBox1.Text = e.Url.AbsoluteUri;
        }

        private void Form1_Resize(object sender, EventArgs e)
        {
            panel2.Width = Width - 167;
        }

        private void button5_Click(object sender, EventArgs e)
        {
            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            that.Navigate(textBox1.Text);
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            TabPage tp = new TabPage("Google");
            WebBrowser that = new WebBrowser();
            that.Dock = DockStyle.Fill;
            that.Size = new Size(994, 634);
            that.Url = new Uri("http://www.google.com/", UriKind.Absolute);
            that.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
            that.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_DocumentSomething);
            that.ScriptErrorsSuppressed = true;
            tp.Controls.Add(that);
            tabControl1.TabPages.Add(tp);
            tabControl1.SelectedIndex = tabControl1.TabCount - 1;
        }

        private void textBox1_DoubleClick(object sender, EventArgs e)
        {
            textBox1.SelectAll();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            button1_Click("", null);

            back = new Thread(goBackThread);
            back.Start();

            forward = new Thread(goForwardThread);
            forward.Start();
        }

        private void button3ft(Boolean tf)
        {
            button3.Enabled = tf;
        }

        private void button4ft(Boolean tf)
        {
            button4.Enabled = tf;
        }

        private WebBrowser browserGet()
        {
            try
            {
                if (tabControl1.InvokeRequired)
                {
                    getBrowser get = new getBrowser(browserGet);
                    WebBrowser l = (WebBrowser)Invoke(get);
                    return l;
                }
                else
                {
                    WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
                    return that;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }

        private void goBackThread()
        {
            while (true)
            {
                WebBrowser that = browserGet();
                Boolean set = false;

                if (that != null)
                {
                    if (that.CanGoBack)
                    {
                        set = true;
                    }
                    else
                    {
                        set = false;
                    }

                    button3tf tf = new button3tf(button3ft);
                    Invoke(tf, new Object[] { set });
                }

                Thread.Sleep(500);
            }
        }

        private void goForwardThread()
        {
            while (true)
            {
                WebBrowser that = browserGet();
                Boolean set = false;

                if (that != null)
                {
                    if (that.CanGoForward)
                    {
                        set = true;
                    }
                    else
                    {
                        set = false;
                    }

                    button4tf tf = new button4tf(button4ft);
                    Invoke(tf, new Object[] { set });
                }

                Thread.Sleep(500);
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            if (that.CanGoBack)
            {
                that.GoBack();
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            if (that.CanGoForward)
            {
                that.GoForward();
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            back.Abort();
            forward.Abort();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            int indexToRemove = tabControl1.SelectedIndex;

            if (tabControl1.TabCount != 0)
            {
                tabControl1.SelectedIndex = indexToRemove - 1;
            }

            tabControl1.TabPages.RemoveAt(indexToRemove);

            if (tabControl1.TabCount == 0)
            {
                button1_Click("", null);
            }
        }

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            WebBrowser that = (WebBrowser)tabControl1.SelectedTab.Controls[0];
            tabControl1.SelectedTab.Text = that.DocumentTitle;
        }
    }
}


Possibly Related Threads...
Thread / Author Replies Views Last Post
[Source] by SIM-5420967May 26, 2024 09:50 AM 2 370 May 26, 2024 09:50 AM
Last Post: xiaowanga8
[.NET] by VisualSoftNov 6, 2023 05:12 PM 125 7,611 Nov 6, 2023 05:12 PM
Last Post: Hopsin
[.NET] by BladabindiMay 17, 2023 12:20 AM 1 178 May 17, 2023 12:20 AM
Last Post: NyQuil