簡體   English   中英

C#WebBrowser:畫圓嗎?

[英]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的

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

HKEY代碼更改

若要執行與上述相同的操作,但在代碼內,請使用以下命令:

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

在瀏覽器控件中使用最新版本的Internet Explorer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM