0

我想在我的 C# 窗口窗体中使用 Google 块。我在我的应用程序中使用内置的 Webbrowser。这是代码:

   namespace WbView
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                WebBrowser browser = new WebBrowser();
                browser.Navigate("https://blockly-demo.appspot.com/static/demos/interpreter/step-execution.html");
                browser.Width = 800;
                browser.Height = 600;
                this.Controls.Add(browser);
            }
        }
    }

当我第一次运行它时,我遇到了这样的脚本错误 在此处输入图像描述

但在那之后我更改了一些注册表条目,它根据现代浏览器工作

注册表项

在此处输入图像描述

但问题是现在我无法使用鼠标拖放块甚至无法放大或缩小我可以使用的只是显示块的工具箱,没有别的。 在此处输入图像描述

有没有人遇到过这种类型的问题?我做了什么:

1.我用过 CefSharp,效果很好。但 CefSharp 仅支持 > .net v4.xx 但我希望我的应用程序支持 min。.NET v3.5 我希望我的应用程序支持 windows 7、8、10

4

1 回答 1

0

您需要支持什么版本的 Windows?如果是 1803(今年 4 月更新),您可以而且应该使用这个新的/现代的 webview。 https://blogs.windows.com/msedgedev/2018/05/09/modern-webview-winforms-wpf-apps/

以编程方式添加 WebView

安装 NuGet 包后,您可以像任何其他控件一样将 WebView 添加到您的应用程序。控件的 WinForms 版本位于 Microsoft.Toolkit.Win32.UI.Controls.WinForms 命名空间中。使用 Microsoft.Toolkit.Win32.UI.Controls.WinForms;

public partial class Form1 : Form
{
  public Form1()
  {
    InitializeComponent();

    // Initialize WebView and add it to the Window's controls
    var wvc = new WebView();
    ((ISupportInitialize)wvc).BeginInit();
    wvc.Dock = DockStyle.Fill;
    Controls.Add(wvc);
    ((ISupportInitialize)wvc).EndInit();

    // You can also use the Source property
    wvc.Navigate(new Uri("https://www.microsoft.com"));
}

这是 Nuget:https ://www.nuget.org/packages/Microsoft.Toolkit.Win32.UI.Controls/

安装包 Microsoft.Toolkit.Win32.UI.Controls -Version 3.0.0

您现在使用的浏览器组件不适用于现代 Web 内容。

于 2018-07-24T08:05:31.640 回答