C#设置WebBrowser默认浏览器

 

因为VS的WebBrowser控件的默认浏览器是IE7,好多网页兼容性不是很好,因此要修改下默认浏览器。浏览器

 

设置前:                      设置后:ide

  

 

在WebBrowser界面加载时执行如下方法,设置浏览器。ui

 

 1         /// <summary>
 2         /// 定义IE版本的枚举
 3         /// </summary>
 4         private enum IeVersion
 5         {
 6             强制ie10,//10001 (0x2711) Internet Explorer 10。网页以IE 10的标准模式展示,页面!DOCTYPE无效 
 7             标准ie10,//10000 (0x02710) Internet Explorer 10。在IE 10标准模式中按照网页上!DOCTYPE指令来显示网页。Internet Explorer 10 默认值。
 8             强制ie9,//9999 (0x270F) Windows Internet Explorer 9. 强制IE9显示,忽略!DOCTYPE指令 
 9             标准ie9,//9000 (0x2328) Internet Explorer 9. Internet Explorer 9默认值,在IE9标准模式中按照网页上!DOCTYPE指令来显示网页。
10             强制ie8,//8888 (0x22B8) Internet Explorer 8,强制IE8标准模式显示,忽略!DOCTYPE指令 
11             标准ie8,//8000 (0x1F40) Internet Explorer 8默认设置,在IE8标准模式中按照网页上!DOCTYPE指令展现网页
12             标准ie7//7000 (0x1B58) 使用WebBrowser Control控件的应用程序所使用的默认值,在IE7标准模式中按照网页上!DOCTYPE指令来展现网页
13         }
14 
15         /// <summary>
16         /// 设置WebBrowser的默认版本
17         /// </summary>
18         /// <param name="ver">IE版本</param>
19         private void SetIE( IeVersion ver)
20         {
21             string productName = AppDomain.CurrentDomain.SetupInformation.ApplicationName;//获取程序名称
22 
23             object version;
24             switch (ver)
25             {
26                 case IeVersion.标准ie7:
27                     version = 0x1B58;
28                     break;
29                 case IeVersion.标准ie8:
30                     version = 0x1F40;
31                     break;
32                 case IeVersion.强制ie8:
33                     version = 0x22B8;
34                     break;
35                 case IeVersion.标准ie9:
36                     version = 0x2328;
37                     break;
38                 case IeVersion.强制ie9:
39                     version = 0x270F;
40                     break;
41                 case IeVersion.标准ie10:
42                     version = 0x02710;
43                     break;
44                 case IeVersion.强制ie10:
45                     version = 0x2711;
46                     break;
47                 default :
48                     version = 0x1F40;
49                     break;
50             }
51 
52             RegistryKey key = Registry.CurrentUser;
53             RegistryKey software =
54                 key.CreateSubKey(
55                     @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\" + productName);
56             if (software != null)
57             {
58                 software.Close();
59                 software.Dispose();
60             }
61             RegistryKey wwui =
62                 key.OpenSubKey(
63                     @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", true);
64             //该项必须已存在
65             if (wwui != null) wwui.SetValue(productName, version, RegistryValueKind.DWord);
66         }
显示代码

 

 

调用:

SetIE( IeVersion.标准ie8);spa

 

 

 

winform技术交流群:江左盟[Winform]376034405   盟主提供各类自绘控件使用,群共享可下载!欢迎还在作winform的同志们!code

 
 

版权声明:本文为博主原创文章,未经博主容许不得转载。orm