我创建了两个按钮关闭,新标签和一个加载谷歌的网络浏览器。单击新选项卡时,它会打开新选项卡,但不会打开Web浏览器。 这是我到目前为止的代码,它来自Microsoft帮助站点。我正在使用带有c#的Visual Studio 2012。
private void newTab_Click(object sender, EventArgs e)
{
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);
}
private void closeTab_Click(object sender, EventArgs e)
{
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}
目前我有这个代码,但是当我在搜索框中输入时,它只适用于标签页1 而不是我打开的任何新标签,所以我需要在搜索框中添加一些代码?
我的代码是:
private void newTab_Click(object sender, EventArgs e)
{
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
var browser = new WebBrowser();
browser.Dock = DockStyle.Fill;
browser.Url = new Uri(@"http://www.google.com");
myTabPage.Controls.Add(browser);
tabControl1.TabPages.Add(myTabPage);
}
答案 0 :(得分:0)
您还必须在标签中添加WebBrowser
控件的新实例:
private void newTab_Click(object sender, EventArgs e)
{
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
// Create new WebBrowser instance
var browser = new WebBrowser();
browser.Dock = DockStyle.Fill;
browser.Url = new Uri(@"http://www.google.de");
// Add the WebBrowser control to the TabPage.
myTabPage.Controls.Add(browser);
tabControl1.TabPages.Add(myTabPage);
}
每个TabPage
最初都是空的,就像你使用设计师添加它一样。它的内容取决于您要添加的内容。共享WebBrowser
- 控制没有意义,因为我想在不同的标签上打开不同的网站。
如果您不希望用户关闭第一个标签,您只需检查用户请求关闭的标签是否是第一个创建的标签:
private void closeTab_Click(object sender, EventArgs e)
{
// Is the Tab Page the first one?
if (tabControl1.SelectedTab == tabControl1.TabPages[0])
return;
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}
如果您希望至少一个标签页保持“开放”状态,您可以使用TabCount
- 属性:
private void closeTab_Click(object sender, EventArgs e)
{
// Is the Tab Page the last one opened?
if (tabControl1.TabCount == 1)
return;
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}
答案 1 :(得分:0)
您的代码中缺少webbrowser控件:
private void newTab_Click(object sender, EventArgs e)
{
string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
TabPage myTabPage = new TabPage(title);
tabControl1.TabPages.Add(myTabPage);
WebBrowser wb = new WebBrowser();
myTabPage.Controls.Add(wb);
wb.Navigate("google.com");
}
private void closeTab_Click(object sender, EventArgs e)
{
if(tabControl1.TabPages.Count == 1)
return;
tabControl1.TabPages.Remove(tabControl1.SelectedTab);
}