如何使用webbrowser控件进行样式设置,但其逻辑是C#?

如何使用webbrowser控件进行样式设置,但其逻辑是C#?,c#,javascript,css,user-interface,C#,Javascript,Css,User Interface,我见过一些应用程序这样做。他们使用HTML/CSS/Javascript进行样式化(这比在本地创建相同的东西要简单一百万倍),但是他们有C#中的程序逻辑,我不知道如何将两者连接起来。我试着在谷歌上搜索,但我找不到任何与我的措辞有关的东西。任何快速的解释或例子都会很棒 谢谢, 乔恩 编辑:作为说明(抱歉),我的意思是用C或C++之类的东西构建的桌面应用程序或类似的东西。 它用于UI和样式,同时允许您使用纯C#或任何.Net语言创建应用程序逻辑 它是winforms的替代品,winforms是一种真

我见过一些应用程序这样做。他们使用HTML/CSS/Javascript进行样式化(这比在本地创建相同的东西要简单一百万倍),但是他们有C#中的程序逻辑,我不知道如何将两者连接起来。我试着在谷歌上搜索,但我找不到任何与我的措辞有关的东西。任何快速的解释或例子都会很棒

谢谢, 乔恩


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

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

它是winforms的替代品,winforms是一种真正古老的技术,没有人再关心它了,它不支持任何东西

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

它与一种新的开发范式齐头并进,这种范式称为,如果你想创建,你需要学习它


不要试图通过在Windows应用程序中放置
WebBrowser
或类似的东西来拼凑一些东西。Web就是Web,桌面就是桌面。

首先创建一个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>";

像ASP.NET网站吗?抱歉,我编辑了它,我的意思是说它是用于桌面应用程序的。我想您已经看到了使用XAML的WPF应用程序。WPF是构建完全定制UI的好方法吗?例如-这是一个自定义游戏启动器客户端。我希望能够做出与之类似的东西。@dibesjr如果你怀疑WPF的能力,请查看我答案中的最后一个链接。我看不出这是一个可行的解决方案。如何使用这样一种基本的技术来创建一个专业的应用程序?javascript作为
字符串
?你是认真的吗?方法名称也是字符串吗?参数呢?@HighCore,不管你喜欢与否。根据OP的要求,它显示了javascript和c#之间的交互。
webBrowser1.DocumentCompleted += (s, e) =>
    {
          webBrowser1.Document.InvokeScript("ShowIt",new object[]{"test2"});
    };