[英]Call function from a class in C#
我使用CefSharp
作為圖形界面,我想在用戶按下“關閉”按鈕時關閉窗口。 現在我必須調用函數close();
從函數exit();
,這是CallbackObjectForJs
類的內部。 我該怎么做?
ChromiumWebBrowser browser;
public void close()
{
this.Close();
}
private void form2_Load(object sender, EventArgs e)
{
browser = new ChromiumWebBrowser("www.myurl.com");
browser.RegisterJsObject("csalert", new CallbackObjectForJs());
this.Controls.Add(browser);
}
public class CallbackObjectForJs{
public void alert(string msg){
MessageBox.Show(msg);
}
public void exit() {
close(); //that not works
}
}
不能直接使用close
,但是可以使用一個小技巧,將實例傳遞給CallbackObjectForJs
的構造方法
ChromiumWebBrowser browser;
public void close()
{
this.Close();
}
private void form2_Load(object sender, EventArgs e)
{
browser = new ChromiumWebBrowser("www.myurl.com");
browser.RegisterJsObject("csalert", new CallbackObjectForJs(this));
this.Controls.Add(browser);
}
public class CallbackObjectForJs{
Form _form;
public CallbackObjectForJs(Form form){
_form = form;
}
public void alert(string msg){
MessageBox.Show(msg);
}
public void exit() {
_form.close();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.