WinForm下的开发WebBrowser,js函数与Winform函数互调
来源:互联网 发布:js字符串大小写转换 编辑:程序博客网 时间:2024/04/28 20:34
WinForm下的开发WebBrowser,js函数与Winform函数互调
想在窗体下实现浏览器的效果,那使用WebBrowser吧,微软的控件,使用起来效果还可以。这样方便用户使用,以免从窗体在打开浏览器,这过程很麻烦,用户也很烦。并且在WebBrowser下将报表用html静态网页的形式实现,那效果岂不是很好,比水晶报表的性能,那不知好哪去了。好了,废话少说,下面介绍WebBrowser在窗体上实现js函数与WinForm互调。
上面这个是我的程序结构,我的html静态网页在html文件夹中的myhtml.htm,WebBrowser在frmReport窗体中,myhtml.htm代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title></title> <script type="text/javascript"> function myclose() { window.external.btn_Click(); } function getWinFromMessage() { var str = document.getElementById('txtMessage').value; str = window.external.getMessage(str); alert('JS get return Value:'+str); } function jsMethod(msg) { alert(msg); return 'js value'; } </script></head><body> <input type="text" id="txtMessage"/> <input type="button" id="btnMessage" value="确定" onclick='getWinFromMessage()' /> <input type="button" id="btnClose" value="关闭" onclick='myclose()' /> </body></html>
上面的代码中的window.external.getMessage()这是用来调用Winform下的函数,getMessage()就是winform下的函数,这是来获取窗体函数返回信息的。还有myclose()函数里面的btn_Click()也是winform下的函数,它的功能是关闭Winform窗体,但是,我们是通过点击前台网页中的关闭按钮来实现。这就实现js调用这些函数来操作窗体。
下面是frmReport下的代码:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")] [System.Runtime.InteropServices.ComVisibleAttribute(true)] public partial class frmReport : Form { public frmReport() { InitializeComponent(); } private void frmReport_Load(object sender, EventArgs e) { string path = Application.StartupPath; path = path.Substring(0,path.Length-9); string filename = path + @"html\myhtml.htm"; //string filetxt=readHtm(filename); this.webBrowser.Navigate(path+@"html\myhtml.htm"); //if (filetxt != String.Empty) // webBrowser.DocumentText = filetxt; webBrowser.ObjectForScripting = this; } //调用Js private void btnJs_Click(object sender, EventArgs e) { string s = webBrowser.Document.InvokeScript("jsMethod",new string[]{"jsMethod"}).ToString() ; MessageBox.Show("Winform get Js Value:"+s); } //被js调用 public void btn_Click() { this.Close(); } //被js调用 public string getMessage(string str) { return "WinForm Say:" + str; } }btnJs_Click是窗体下一个按钮,实现调用js的功能。代码就这么多,简单实现下,效果还是不错的。
- WinForm下的开发WebBrowser,js函数与Winform函数互调
- webBrowser页面js调用Winform窗体函数
- [Winform]js与webbrowser交互
- WinForm WebBrowser执行网页的中JavaScript函数
- Winform控件WebBrowser与JS脚本交互
- Winform控件WebBrowser与JS脚本交互
- Winform控件WebBrowser与JS脚本交互
- winform控件webbrowser和js脚本互调
- WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- C# WinForm开发系列 - WebBrowser
- vb.net webbrowser 网页调用winform 中的函数
- C#的winform与js的功能互调
- 线程池
- 重温星号图
- 控件使用TextSwitcher、Gallery 、ImageSwitcher、GridView、ListView、ExpandableList
- php函数(parse_str()) 2012.11.21日学
- 静态链接,编译过程
- WinForm下的开发WebBrowser,js函数与Winform函数互调
- linux 安装程序时,库文件找不到的解决方法
- [转载]Visual Studio中的debug和release版本的区别
- 自定义标签制作步骤
- Qt对话框_模态/非模态
- 相对路径与绝对路径
- jstl
- asterisk fax outgoing
- 在myeclipse和eclipse中设置作者