Я довольно новичок в программировании и работал над созданием веб-браузера в visual studio, но столкнулся с проблемой, которую не могу понять.У меня есть форма, в которой хранится моя строка меню и табуляция.Затем я создал пользовательский элемент управления, который содержит мою панель инструментов и веб-браузер.Затем я добавил свой пользовательский элемент управления внутри моей вкладки в форме.Моя проблема в том, что когда я нажимаю кнопку, чтобы создать новую вкладку, первая новая вкладка является правильной, она имеет мой пользовательский контроль, но каждая новая вкладка после этого пуста.Как я могу сделать так, чтобы каждая новая вкладка открывала мой usercontrol?Вот код, который у меня есть.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WebBrowser.UI
{
public partial class Nnocu : Form
{
WebControls WebControls = new WebControls();
public Nnocu()
{
InitializeComponent();
}
private void Nnocu_Load(object sender, EventArgs e)
{
}
private void exitWebBrowserToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("");
}
private void Navigation()
{
string web = null;
WebControls.navigationTextBox.Text = web;
WebControls.webBrowser1.Navigate(web);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
private void Nnocu_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && (e.KeyCode == Keys.T))
addTab();
if (e.Control && (e.KeyCode == Keys.W))
this.tabControl1.TabPages.RemoveAt(this.tabControl1.SelectedIndex);
}
private void newTabToolStripMenuItem_Click(object sender, EventArgs e)
{
addTab();
}
private void addTab()
{
TabPage tabPage = new TabPage();
tabPage.Text = "New Tab";
tabControl1.Controls.Add(tabPage);
WebControls.Parent = tabPage;
WebControls.Dock = DockStyle.Fill;
WebControls.webBrowser1.Navigate("www.google.com");
}
private void closeCurrentTabToolStripMenuItem_Click(object sender, EventArgs e)
{
tabControl1.TabPages.RemoveAt(this.tabControl1.SelectedIndex);
}
}
}
И мой пользовательский элемент управления
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WebBrowser.UI
{
public partial class WebControls : UserControl
{
public WebControls()
{
InitializeComponent();
}
private void goButton_Click(object sender, EventArgs e)
{
try
{
webBrowser1.Navigate(navigationTextBox.Text);
}
catch (Exception ex)
{
// Error message for an invalid Web Address.
MessageBox.Show(ex.Message);
}
}
private void navigationTextBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
try
{
webBrowser1.Navigate(navigationTextBox.Text);
}
catch (Exception ex)
{
// Error message for an invalid Web Address.
MessageBox.Show(ex.Message);
}
}
}
private void refreshButton_Click(object sender, EventArgs e)
{
webBrowser1.Refresh();
}
}
}