搜索栏不适用于不同的页面选项卡

时间:2013-03-03 15:30:32

标签: c# visual-studio tabs webbrowser-control

我有一个搜索栏和tabcontrol以及一个网页浏览器,每次打开一个标签时都会出现一个Web浏览器,但是当我在搜索框中输入时,它只显示在第一页标签中工作

这是我的标签控制代码:

var browser = new WebBrowser();
browser.Dock = DockStyle.Fill;
browser.Url = new Uri(@"http://www.google.com");
myTabPage.Controls.Add(browser);
tabControl1.TabPages.Add(myTabPage);

和我的搜索条形码:

webBrowser1.Navigate("www.google.com/search?q=" + searchField.Text);

到目前为止,我的代码似乎无法正常工作,

private void searchTextBox_KeyDown(object sender, KeyEventArgs e)
{
    string browserURL = "";
    if (e.KeyCode == Keys.Enter)
    {
        if (yahoosearch.Checked == true)
        {
            browserURL = "www.search.yahoo.com/search?q=" + searchTextBox.Text;
        }
        else if (bingsearch.Checked == true)
        {
            browserURL = "www.bing.com/search?q=" + searchTextBox.Text;
        }
        else if (googlesearch.Checked == true)
        {
            browserURL = "www.google.com/search?q=" + searchTextBox.Text;
        }
    }

    foreach (var c in tabControl1.SelectedTab.Controls)
    {
        if (c is WebBrowser)
        {
            ((WebBrowser)c).Navigate(searchTextBox.Text);
        }
    }
}

可能是我的网络浏览器被称为webBrowser1

1 个答案:

答案 0 :(得分:0)

看起来您已在设计器中创建了第一个标签,并且您调用webBrowser1的搜索条形码。但是在其他分页上你的webbroser是var browser,所以你应该在它上面调用导航:

foreach (var c in tabControl1.SelectedTab.Controls)
{
    if (c is WebBrowser)
    {
        ((WebBrowser)c).Navigate(browserURL);
    }
}