首先先來簡單介紹一下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型,就可以隨意引用了。