从 C# 中的 class 调用函数
Call function from a class in C#
我正在使用 CefSharp
作为图形界面,我想在用户按下按钮 'close' 时关闭 window。现在我必须从函数 exit();
调用函数 close();
,它位于 class 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();
}
}
我正在使用 CefSharp
作为图形界面,我想在用户按下按钮 'close' 时关闭 window。现在我必须从函数 exit();
调用函数 close();
,它位于 class 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();
}
}