【发布时间】:2012-01-06 18:02:22
【问题描述】:
我有这个代码:
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# 中的调试控制台获取任何错误消息(尽管如果有人想指出我正确的方向,那么我可以回来发布它)。
我最终想要做的是有一个脚本,如果我在我的网络浏览器中编辑,它会阻止表单关闭。 (但我似乎无法到达第一行!)
我做错了吗?如果是这样,那有什么问题呢?
谢谢
【问题讨论】:
-
我认为你的返回类型没有被正确捕获。为什么不尝试通过函数 GetType 获取类型以查看是否返回布尔值。您可以使用 Convert.ToBool(webBrowser1.Document.InvokeScript("isEditing")) 显式转换以检查它是否返回某些内容。
-
这可能会给你一些有用的信息 -- msdn.microsoft.com/en-us/library/be9zzz62.aspx
标签: c# javascript winforms browser