Click here to Skip to main content
15,887,683 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
Hello i have been working on my own custom web browser. If i insert a web browser in my tab control and name it i can easily just go webbrowser1.Navigate() in my button click to use the webbrowser methods.

I made a method CreateTab and it automatically adds a web browser to my tab along with a default web page.
My problem is selecting this webbrowser in other button clicks so i can call Home, Back, forward, etc.

Here is me method for creating a tab.
C#
private void CreateTabItem()
{   //create a new tab
    TabItem item = new TabItem();
    item.Header = "Fitness" + i ;
    WebBrowser browser = new WebBrowser();
    //browser.Name = "Website";

    browser.Navigate("http://www.bodybuilding.com/exercises/");
    item.Content = browser;
    tabControl.Items.Add(item);
    i++;
}

private void btnBack_Click(object sender, RoutedEventArgs e)
{
    //browser.GoBack();
    //if (webBrowser1.CanGoBack)
       // webBrowser1.GoBack();
}
Posted
Comments
Sergey Alexandrovich Kryukov 3-Sep-14 22:57pm    
How it can possibly be related to ASP.NET or WebForms tagged?
Isn't it System.Windows.Forms.WebBrowser or System.Windows.Controls.WebBrowser?
—SA

1 solution

You can try this approach.
Change your code to something like this:
C#
private void CreateTabItem()
{   //create a new tab
    TabItem item = new TabItem();
    item.Header = "Fitness" + i ;
    WebBrowser browser = new WebBrowser();
    //browser.Name = "Website";
    item.Tag = browser; 
    
    browser.Navigate("http://www.bodybuilding.com/exercises/");
    item.Content = browser;
    tabControl.Items.Add(item);
    i++;
}

private void btnBack_Click(object sender, RoutedEventArgs e)
{
    TabItem item = (tabControl.SelectedItem as TabItem);
    if (item != null)
    {
        WebBrowser browser = (item.Tag as WebBrowser);
        if (browser != null)
        {
            if (browser.CanGoBack)
                browser.GoBack();
        }
    }
}


You can also consider to use tabControl.Items.Count instead of i for indexing.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900