設定 WebBrowser 控制項在執行階段模擬的 IE(Internet Explorer) 版本

Microsoft Virtual Studio 中的 WebBrowser 在使用上有蠻多的應用方式

然而有時候開啟某些網站時,卻會提示更換使用較新瀏覽器版本
即使已將 IE 更新的提示較新的版本,透過 WebBrowser 開啟依舊還是跳出提示,這點還真是讓人有點困擾

WebBrowser控制項 在執行階段中預設套用的IE版本,是系統上的註冊機碼定義的
這個註冊機碼的預設值會受到 安裝的系統、IE版本 和 .NET Framework 版本 所影響

繼續閱讀 “設定 WebBrowser 控制項在執行階段模擬的 IE(Internet Explorer) 版本”

VB.NET 跨執行緒作業無效,使用委派(Delegates)來解決

問題是這樣來了
鸚鵡在一個 Form 當中使用了一個自己寫的 Class Controller_A
Controller_A 再以多執行緒的方式用來控制其他的 Class Node_A, Class Node_B 到 Class Node_N

其中 Controller_A 會監聽 Node_N 的自定義事件,除了做各別處理外也會視需求觸發(RaiseEvent)自己的事件
Form 再監聽這些事件來控制 OvalShape 達到燈號的功能

但是當 Form 裡監聽事件的副程式嘗試變更 Form 上其他控制項時,就錯誤惹…

VB_NET例外(委派處理)
因為上一次使用 VB 來開發程式已經是 VB6.0時代了,所以只能慢慢爬官方文件
找到微軟 MSDN 關於 VB.NET 的委派(Delegates) 的相關說明,實在有點咬文嚼字讓我看了很久還是一樣看很不懂

爬文到最後自己好像有點懂了又還是不太懂 =.=
不過至少鸚鵡找到解決方法了

 

當 Ctrl_StatusChanged() 被 其他執行緒呼叫 或是 用來監聽其他執行緒觸發的事件 時會透過 Invoke() 委派的方式執行我們定義的委派 Ctrl_StatusChanged_CallBack()
然後直接跳出副程式

目前鸚鵡透過這樣的方式沒有在遇到 未處理的例外 了