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:
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;
}
}
}