-1

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

谢谢,乔恩

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

4

2 回答 2

2

首先创建一个 ComVisible 类

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

然后设置 WebBrowser 控件的ObjectForScripting属性

webBrowser1.ObjectForScripting = new JSObject();

设置html内容

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"});
    };
于 2013-09-27T18:16:43.977 回答
0

您要查找的内容称为WPF

它使用XAML作为 UI 和样式,同时允许您以纯 C# 或任何 .Net 语言创建应用程序逻辑。

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

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

它与称为MVVM的新开发范例密切相关,如果您想创建具有专业外观、令人敬畏的 Windows 应用程序,则需要学习该范例

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

于 2013-09-27T18:16:05.603 回答