如何使用 Web 浏览器控件进行样式设置,但具有 C# 中的逻辑

本文关键字:设置 浏览器 Web 何使用 控件 样式 | 更新日期: 2023-09-27 18:33:01

我已经看到一些应用程序这样做了。他们使用HTML/CSS/Javascript进行样式设置(这比在本地创建相同的东西容易一百万倍),但是他们有C#程序的逻辑,我不知道如何将两者互连。我试图用谷歌搜索,但我的措辞找不到任何东西。任何快速解释或示例都会很棒!

谢谢乔恩

编辑:作为澄清(抱歉),我的意思是使用C#或C++之类的东西构建的桌面应用程序

如何使用 Web 浏览器控件进行样式设置,但具有 C# 中的逻辑

首先创建一个 ComVisible 类

[ComVisible(true)]
public class JSObject
{
    public void ShowMessage(string s)
    {
        MessageBox.Show(s);
    }
}

然后设置 Web 浏览器控件的 ObjectForScripting 属性

webBrowser1.ObjectForScripting = new JSObject();

设置网页内容

webBrowser1.DocumentText = @"
                      <script>
                          external.ShowMessage('test'); 
                          function ShowIt(s){alert(s);} 
                      </script>";

并调用 Javascript C# 的 ShowMessage 方法

而这是另一种方式,

webBrowser1.DocumentCompleted += (s, e) =>
    {
          webBrowser1.Document.InvokeScript("ShowIt",new object[]{"test2"});
    };

您要查找的内容称为 WPF。

它使用 XAML 进行 UI 和样式设置,同时允许你使用纯 C# 或任何 .Net 语言创建应用程序逻辑。

它是Winforms的替代品,这是一项非常古老的技术,没有人再关心,并且不支持任何东西。

WPF 将 Web 的灵活性和声明性范例引入 Windows 桌面。

与一个名为MVVM的新开发范式齐头并进,如果你想创建专业外观,令人敬畏的Windows应用程序,你需要学习它

不要试图通过尝试在Windows应用程序中放置WebBrowser或类似的东西来破解某些东西。网络就是网络,桌面就是桌面。