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