本質的に、メインフォームのパネルに読み込んでいるプロジェクトにdotNetBrowserを使用しています。ユーザーコントロールのボタンを持っていますブラウザ。ここで私が持っているものだ:C#UserControlからdotnetBrowserにアクセスする
私は私のusercontrol.csで、正常に動作します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;
}
};
}
}
:
public void button1_Click(object sender, EventArgs e)
{
BrowserView br = (this.Parent as Form1).Controls["browserView"] as BrowserView;
br.Browser.LoadURL("NEW URL");
}
ボタンがクリックされたとき、それは新しいURLをロードできるように。しかし、これはnull例外をスローしています。
基本的には、お互いに情報を渡すためには、この2つのコンポーネントが必要です。私が使用したメソッドは、他のForm1コントロールでうまく機能しましたが、ブラウザでは見えません。
アドバイスはありますか?
「例外をスローする」は、非常に有用な情報ではありません。 stacktraceはどこにエラーが発生したと言いますか? –
'(this.Parent as Form1)'です。 BrowserViewコントロールは、フォームの直接コントロールコレクションではなく、Panelのコントロールコレクション内にあります。 – LarsTech
"br.Browser.LoadURL(" New URL ");" – AlphaOmega