沈陽易勢科技軟件開發公司 不僅給企業進行B/S結構的軟件定制開發(fa),還開發(fa)過很多C/S結構的程序(xu),在進(jin)行C/S程序(xu)的軟件開發(fa)中,常常遇到需要在winform中嵌入(ru)html頁面的形式,因為html對于頁面美觀可(ke)以更好(hao)控制,在winform中嵌入(ru)html頁面就(jiu)需要使(shi)用到webBrowser控件。
使用代(dai)碼 Uri url = new Uri("頁面(mian)(mian)地址"); webBrowser1.Url = url; 就(jiu)可以(yi)了(le)。那么如何需要頁面(mian)(mian)和我(wo)(wo)們(men)的(de)winform程(cheng)序(xu)交(jiao)互呢,這(zhe)需要對于webBrowser 設置(zhi)webBrowser1.ObjectForScripting = this就(jiu)可以(yi)。我(wo)(wo)們(men)運(yun)行時發(fa)現代(dai)碼走到這(zhe)里會(hui)報異常(chang)ObjectForScripting 的(de)類必(bi)須對 COM 可見。請確認該對象是(shi)公共(gong)的(de),或考慮向您的(de)類添(tian)加 ComVisible 屬性。我(wo)(wo)們(men)只需要在頁面(mian)(mian)類的(de)外面(mian)(mian)加入 [System.Runtime.InteropServices.ComVisibleAttribute(true)] 這(zhe)樣就(jiu)不(bu)會(hui)再報異常(chang)了(le),這(zhe)時我(wo)(wo)們(men)使用InvokeScript(String spriteName,object[] args);就(jiu)可以(yi)進行后臺跟頁面(mian)(mian)的(de)js進行交(jiao)互了(le)。