0

我有一个搜索栏和选项卡控件以及一个网络浏览器,每次打开一个选项卡时都会出现一个网络浏览器,但是当我在搜索框中键入时,它似乎只在第一页选项卡中工作

这是我的标签控制代码:

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

4

1 回答 1

0

看起来您已经在设计器中创建了第一个选项卡,并调用了webBrowser1. 但是在其他页面上,您的网络浏览器是var browser,因此您应该在其上调用导航:

foreach (var c in tabControl1.SelectedTab.Controls)
{
    if (c is WebBrowser)
    {
        ((WebBrowser)c).Navigate(browserURL);
    }
}
于 2013-03-03T15:52:23.783 回答