C#如何在主显示窗口中嵌入现有浏览器

时间:2016-04-29 12:54:06

标签: c# wpf xaml

我刚刚开始研究用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中编写的方法调用此代码。 rBrowserRBrowser的实例。

如何让此功能在rBrowser内显示网络浏览器MainWindow,而不是在新窗口中显示?

目前,当我运行此操作并单击GUI上的按钮以打开浏览器时,我会遇到以下例外情况:

  

System.Windows.Forms.dll中出现未处理的“System.ArgumentException”类型异常

     

其他信息:无法将顶级控件添加到控件中。

这些突出显示了这一行:

groupBox1.Controls.add(rBrowser);

0 个答案:

没有答案