Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WinForms将丢失背景并开始透明_Winforms_Cefsharp - Fatal编程技术网

WinForms将丢失背景并开始透明

WinForms将丢失背景并开始透明,winforms,cefsharp,Winforms,Cefsharp,我在CEFSharp 41.0.1中使用WinForms,但有一个问题:应用程序的背景(google.com已打开)丢失背景,并从开始到结束在Windows 7上保持透明,在Windows 8上切换系统用户时提供相同的行为,直到聚焦应用程序 此外,对于Windows 8,应用程序有时无法在中对焦,在此之后,您尝试在google的输入中对焦,但通过应用程序转到后台应用程序。这对我们的应用程序来说是个大麻烦 我现在无法显示Windows 7的大小写,因此我显示了Windows 8在Ctrl+Alt+

我在CEFSharp 41.0.1中使用WinForms,但有一个问题:应用程序的背景(google.com已打开)丢失背景,并从开始到结束在Windows 7上保持透明,在Windows 8上切换系统用户时提供相同的行为,直到聚焦应用程序

此外,对于Windows 8,应用程序有时无法在中对焦,在此之后,您尝试在google的输入中对焦,但通过应用程序转到后台应用程序。这对我们的应用程序来说是个大麻烦

我现在无法显示Windows 7的大小写,因此我显示了Windows 8在Ctrl+Alt+Delete->Switch User之后更改系统用户的行为

  • Windows 8的屏幕截图(切换用户前):

  • Windows 8的屏幕截图(切换系统用户后): 在这种情况下,不可能拍摄屏幕截图,因为无论何时在应用程序中聚焦,它都会重新渲染并正确显示

  • 我使用下一个代码创建浏览器对象并添加到表单:

    _browser = new ChromiumWebBrowser("google.com")
            {
                Dock = DockStyle.Fill,              
                MenuHandler = new CustomMenuHandler(),
                BrowserSettings = new BrowserSettings()
                {
                    ApplicationCacheDisabled = false,
                    FileAccessFromFileUrlsAllowed = true,
                    JavascriptDisabled = false,
                    LocalStorageDisabled = false,
                    WebSecurityDisabled = true,
                    JavaScriptOpenWindowsDisabled = false,
                    JavascriptDomPasteDisabled = false,
                }
            };
            RegisterWrappers();
            Controls.Add(_browser);
    
    和下一个初始化代码:

    Cef.Initialize(new CefSettings()
                {
                    CachePath = "cache"
                   });
    
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
    
                Application.Run(new Context(new Form1()));
    

    谢谢你的建议

    解决方案是从WinForms中删除TransparencyKey属性。在我们的项目中,它被设置为白色,浏览器中的白色背景内容在Windows 7中变得透明,但在Windows 8中它无法正常工作,因此很难检测问题

    解决方案是从WinForms中删除TransparencyKey属性。在我们的项目中,它被设置为白色,浏览器中的白色背景内容在Windows 7中变得透明,但在Windows 8中它无法正常工作,因此很难检测问题

    问题是否使用最新版本重现?(
    43.0.1
    )。您可以使用
    MinimalExample
    项目在@amaitland进行测试,问题在最新版本中重现,但WinForms的MinimalExample工作正常。我看不出我的项目和MinimalExample之间有什么大的区别。这个问题是否使用最新版本重现?(
    43.0.1
    )。您可以使用
    MinimalExample
    项目在@amaitland进行测试,问题在最新版本中重现,但WinForms的MinimalExample工作正常。我看不出我的项目和我的例子有多大区别