首先先来简单介绍一下webbrowser控件,这个控件是可以实现在form窗体中添加网页内容的。如图,我在form中加入了百度api,(百度地图api调用博客里有讲)
使用这个控件其实很简单
(1)第一步
只要在form_load中输入
webBrowser1.Navigate(Application.StartupPath + " /map.html");//引号中为网页代码存放地址,注意要用相对地址不用绝对地址,这样才有可移植性,把网页放到程序的debug目录下,这样就可以实现在vs中直接对网页代码进行修改
webBrowser1.ObjectForScripting = this; //显示
(2)第二步
有些同学可能需要在form中调用一些webBrowser控件中的变量数据,这时候怎么办。比如说我要调用百度地图中所测量的两点间的距离。这时候首先在网页文件中加入如下代码:
myDis.addEventListener("drawend", function(e) //这个是百度自带的测量距离的代码
{ result1=e.distance;
alert(result1);
});
function getdistance()//这一段自己写的,返回距离的值
{return result1;}
以上是web部分
然后在form中要想获得web中的距离,要用如下代码:
var s = webBrowser1.Document.InvokeScript("getdistance");//引号中是function的函数名,注意变量要用var型
然后通过 hight = Convert.ToInt32(s);就可以将var型转换为int型,就可以随意引用了。