我有以下代码:
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
bool isEditing = (bool)webBrowser1.Document.InvokeScript("isEditing");
MessageBox.Show("End");
e.Cancel = false;
}
该程序不会关闭,也不会进入
MessageBox.Show("End");
取出行bool isEditing = (bool)webBrowser1.Document.InvokeScript("isEditing");
使其起作用(并且程序退出)。isEditing
是一个JavaScript函数,如下所示:function isEditing(){ return editing; } // editing being either true or false
我不知道如何通过C#中的调试控制台获取任何错误消息(尽管如果有人想指出正确的方向,那么我可以回来发布它)。
我最终想要做的是拥有一个脚本,如果我在Web浏览器中进行编辑,它将停止关闭表单。 (但我似乎无法达到第一行!)
我做错了吗?如果是这样,那又怎么了?
谢谢
最佳答案
请注意,如果InvokeScript()
调用引发异常(例如,如果isEditing
不存在),该异常将被表单捕获,关闭请求将中止。
这可以解释为什么您的代码从不进入MessageBox.Show("End");
并且不关闭表单。
您应该能够在Visual Studio的“输出”窗口中看到任何捕获的异常信息,或者可以通过转到Debug->Exceptions
菜单并选中“公共语言运行时异常”选项来强制Visual Studio中断任何异常。