C# 从 UserControl 访问 dotnetBrowser

标签 c# dotnetbrowser

所以本质上我正在使用 dotNetBrowser 来加载到主窗体上的面板中的项目,并且用户控件中有一个用于用户输入的按钮,以便它可以与浏览器交互。这是我所拥有的:

public partial class Form1 : Form
{

    public BrowserView browserView = new WinFormsBrowserView();

    public Form1()
    {
        InitializeComponent();

        this.panel1.Controls.Add((Control)browserView);
        browserView.Browser.LoadURL("URL TO BE LOADED");

        browserView.Browser.FinishLoadingFrameEvent += delegate (object sender, FinishLoadingEventArgs e)
        {
            if (e.IsMainFrame)
                {
                // Do stuff when loaded
                } else return;
            }
        };

    }
}

效果很好,在我的 usercontrol.cs 中我有:

    public void button1_Click(object sender, EventArgs e)
    {
        BrowserView br = (this.Parent as Form1).Controls["browserView"] as BrowserView;
        br.Browser.LoadURL("NEW URL");   
    }

这样,当单击按钮时,它可以加载新的 url。但这引发了空异常。

基本上,我需要这两个组件才能相互传递信息。我使用的方法对于其他 Form1 控件效果很好,但对于浏览器似乎不起作用。

有什么建议吗?

最佳答案

在您的情况下,browserView是公共(public)变量的名称,因此您可以简单地使用(this.Parent as Form1).browserView来访问它。

关于C# 从 UserControl 访问 dotnetBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496884/

相关文章:

c# - 在 TreeView 中禁用选择

javascript - 如何在 dotnetbrowser 中获得文本区域的焦点?

c# - 将 Windows 窗体应用程序转换为 Asp lr 控制台应用程序

c# - 使用 Directory.GetDirectories 时如何排除文件夹

c# - Microsoft Unity 容器的性能

c# - .NET 6 在 Web API 项目 Controller 中使用 HTTP 客户端进行 API 调用

c# - 无法通过 IE 访问 WCF 自托管服务

uwp - 可以将 DotNetBrowser 与 UWP 应用程序一起使用吗?

c# - 如何使用DotNetBrowser填写用户名和密码