[英]C# WebBrowser: draw circle?
我正在編寫一個簡單的可視化應用程序,但我webBrowser.Version
一個小問題: webBrowser.Version
返回Build: 9600 Major: 11
,盡管如此,我無法使用現代CSS3功能繪制圓。 以下是我得到的HTML代碼和輸出。 我嘗試了在Google上找到的各種方法,但似乎沒有任何效果。 刪除了不必要的代碼,只保留了在webBrowser中不起作用的部分。
哦,順便說一句,它在獨立的IE中打開時有效。 也嘗試過“邊界半徑”:50%
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Main Window</title>
<style>
.circle {
border-radius: 10px;
width: 20px;
height: 20px;
background: blue;
}
</style>
</head>
<body>
<div class="circle"></div>
</body>
</html>
這是因為WebBrowser類模擬IE,因此將具有HKEY來設置模擬中使用的IE版本。
以下是一些建議或替代方案。
<meta http-equiv="X-UA-Compatible" content="IE=10" />
將以上內容添加到HTML中,它將嘗試強制瀏覽器在IE10中顯示內容。
查找以下HKEY的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
然后將您的應用更改或添加到類似的值
FEATURE_BROWSER_EMULATION "myAppName.exe"=10000
若要執行與上述相同的操作,但在代碼內,請使用以下命令:
RegistryKey registrybrowser = Registry.LocalMachine.OpenSubKey
(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
registrybrowser.SetValue("myAppName.exe", 10000, RegistryValueKind.DWord);
我認為WebBrowser卡在IE7或IE8上。 幾年前,我嘗試了其中一些黑客措施來更改其版本:
https://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.