Почему я не могу использовать мышь, чтобы перетаскивать и даже щелкать в браузере C#

Я хочу использовать Google блочно в моей форме окна C#. Я использую встроенный веб-браузер в моем приложении. Вот код:

   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);
            }
        }
    }

Когда я запускаю его в первый раз, я получаю Script Error, как это

Но после этого я изменил некоторые записи реестра, и он работает в соответствии с современными браузерами

Записи реестра

Но проблема в том, что теперь я не могу использовать мышь для перетаскивания блоков, даже не увеличивая и не уменьшая, что я могу использовать, это просто набор инструментов для отображения блоков и ничего больше.

Кто-нибудь сталкивался с такой проблемой? Что я сделал:

1. Я использовал CefSharp, и он работал отлично. но CefSharp поддерживает только> .net v4.xx, но я хочу, чтобы мое приложение поддерживало мин. .NET v3.5 Я хочу, чтобы мое приложение поддерживало windows 7, 8, 10

1 ответ

Какую версию Windows вам нужно поддерживать? Если это 1803 год (апрельское обновление этого года), вы можете и должны использовать это новое / современное веб-представление. 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/

Install-Package Microsoft.Toolkit.Win32.UI.Controls -Version 3.0.0

Компонент браузера, который вы используете прямо сейчас, не подходит для современных веб-приложений.

Другие вопросы по тегам