c# winform中 webBrowser 与网页之前的通讯
网页存在电脑中是一个独立的html,webBrowser在一个winform的应用程序中,其url指向这个html,现在要实现html中把消息传递给这个wnform,比如...
网页存在电脑中是一个独立的html,webBrowser 在一个winform的应用程序中,其url指向这个html,现在要实现html中把消息传递给这个wnform,比如,html中有一个关闭网页的事件,要实现,这个事件发生后这个winform也关闭,那么怎么把这个关闭网页的事件消息传给这个webBrowser ,使其可以一起关闭。有大概的代码来演示更好,完事后重谢。
展开
4个回答
展开全部
若关闭网页由按钮触发,则可以根据按钮ID查找到按钮并绑定点击事件进行处理:
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("file://" + Application.StartupPath.Replace("\\", "/") + "/test.htm");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var el = webBrowser1.Document.GetElementById("button");//按钮ID
el.Click += new HtmlElementEventHandler(el_Click);
}
void el_Click(object sender, HtmlElementEventArgs e)
{
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("file://" + Application.StartupPath.Replace("\\", "/") + "/test.htm");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var el = webBrowser1.Document.GetElementById("button");//按钮ID
el.Click += new HtmlElementEventHandler(el_Click);
}
void el_Click(object sender, HtmlElementEventArgs e)
{
this.Close();
}
展开全部
补充:你是不应该去关心客户端浏览器的关闭与否的。你可以去限制他浏览的页面,而不是去控制。等你越去控制的时候,总会有一些不能实现的功能。所以限制要比控制要更实用。况且,浏览器的功能是有限的,你本地的Winform可以通过修改数据库,来限制某个用户的功能啊。
追问
我晓得,但是我现在必须这样弄呃,网页端是一个视频通讯的东东,网页中的视频结束了就得结束网页吧,网页关闭了,那么这个winform总也得关闭吧,所以啊,你有更好的办法来解决这个问题么?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
感觉应该可以这样,没试,不行你也别喷我,呵呵。
用winForm代码去定时扫描webBrowser的url(比如用timer控件,每500ms扫一次),如果用户关闭了页面,webBrowser的url应该会被置空,这个时候就关闭窗体咯。
用winForm代码去定时扫描webBrowser的url(比如用timer控件,每500ms扫一次),如果用户关闭了页面,webBrowser的url应该会被置空,这个时候就关闭窗体咯。
追问
我可以试一下,这也是一个办法嘛,但是这样太频繁扫描我担心cpu利用率会不会太高啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这样做。客户端中内嵌html,关闭时向服务器,发送一个信息,客户端如果跟服务器有通信,则通过服务器的消息。关闭客户端。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询