我刚刚开始研究用C#编写的应用程序。应用程序的大部分显示在应用程序创建的窗口中(在XAML中设置 - 因此类为MainWindow.xaml.cs
)。
我想添加在应用程序中显示特定网站的功能,并允许用户与该网站进行交互。
已在应用程序中创建了一个浏览器,它已完全正常运行;但是,当用户单击按钮以显示所需的网站时,将打开一个新的应用程序窗口作为显示该网站的“专用”浏览器。我想要做的是将当前正在打开的浏览器放在一个单独的窗口中,并将其嵌入到应用程序的主窗口中,而不是打开第二个窗口。
我要显示浏览器的'MainWindow'用以下行定义:
public partial class MainWindow : Window{
,当前在单独窗口中打开的浏览器使用以下行定义:
partial class RBrowser : Form{
单击时打开浏览器的按钮正在调用函数:
private void testFunction3(object sender, EventArgs e){
mBrowser.Show();
mBrowser.goPage("www.google.com");
}
我尝试通过执行以下操作将RBrowser
添加到MainWindow
:
System.Windows.Forms.GroupBox groupBox1 = new System.Windows.Forms.GroupBox();
rBrowser.Location = new System.Drawing.Point(0, 20);
groupBox1.Controls.Add(rBrowser);
groupBox1.Text = "RIVIAM";
groupBox1.Dock = DockStyle.Top;
groupBox1.Enabled = true;
//this.Add(groupBox1);
//mBrowser.Dock();
rBrowser.Show();
rBrowser.goPage("https://web.riviam.com/");
当用户单击应用程序主窗口上的按钮时,将从MainWindow.xaml.cs
中编写的方法调用此代码。 rBrowser
是RBrowser
的实例。
如何让此功能在rBrowser
内显示网络浏览器MainWindow
,而不是在新窗口中显示?
目前,当我运行此操作并单击GUI上的按钮以打开浏览器时,我会遇到以下例外情况:
System.Windows.Forms.dll中出现未处理的“System.ArgumentException”类型异常
其他信息:无法将顶级控件添加到控件中。
这些突出显示了这一行:
groupBox1.Controls.add(rBrowser);