gpt4 book ai didi

C# 从 UserControl 访问 dotnetBrowser

转载 作者:行者123 更新时间:2023-11-30 20:32:27 24 4
gpt4 key购买 nike

所以基本上我将 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com