首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>WINFORM>在.net中利用webbrowser控件实现WinForm与WebForm交互
在.net中利用webbrowser控件实现WinForm与WebForm交互
来源: 发布时间:2008-06-29 发布人: 浏览: 人次   字体: [ ]  

在.net中的WebBrowser 控件可以让你装载Windows Form 应用程序中的Web 网页和其它采用浏览器的文件。可以使用webbrowser 控件将现有的web框架控制项加入至 Windows Form 客户端应用程序。
还是直接看代码吧。

WebBrowser 控制项 提供的属性、方法和事件,可用来实现 Internet Explorer 的控制项
    webBrowser1.Navigate("www.itwis.com");    //将指定位置处的文件载入至 WebBrowser
    webBrowser1.GoBack();//上一页
    webBrowser1.GoForward();//下一页
    webBrowser1.Refresh();//刷新
    webBrowser1.GoHome();//主页
这里提供了WebBrowser常用的方法,   

上面的代码是将 我们园子的主页载入到WebBrowser控件中。如果我们想要在应用程式中产生自己的网页内容,可以设定DocumentText属性。也可以通过Document属性来处理目前的网页内容。如下代码是使用 DocumentText 属性,显示网页内容。并用Document属性来处理所显示的网页。
 1private void btnDocumentText_Click(object sender, EventArgs e)
 2        {
 3            string szHtml = @"
 4<HTML>
 5<HEAD>
 6<TITLE> DocumentText </TITLE>
 7</HEAD>
 8
 9<BODY>
10     Please enter your name:<br/>
11     <input type='text' name='Name'/><br/>
12    <a href='http://www.microsoft.com' >Send input to method of Form class</a>
13    
14</BODY>
15</HTML>";
17            webBrowser1.DocumentText = szHtml;18         
19        }
20
21        private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
22        {
23            System.Windows.Forms.HtmlDocument document =  this.webBrowser1.Document;
24
25            if (document != null && document.All["Name"] != null && String.IsNullOrEmpty(document.All["Name"].GetAttribute("value")))
26            {
27                e.Cancel = true;
28                System.Windows.Forms.MessageBox.Show("You must enter your name before you can navigate to " +  e.Url.ToString());
29            }
30
31        }
既然我们可以通过DocumentText生成自己的网页,那么能不能象使用IE那样操作这个网页呢?,答案是肯定的,完全可以像操作Web程序那样操作WebBrowser 控制项。比如我们可以加入脚本,CSS。当然,如果你熟悉 HTML 物件对象模型 (DOM),也可以透过 Document 属性来处理目前的Web网页内容。下面的例子加入了JavaScript脚本来控制网页。如果要在Winfrom程序中写大量的Javascriot代码,而且这些代码最终要转换成String型载入到Webbrowser 那将是很痛苦的事情,不过没有关系,我们可以创建一个js文件,放入资源中,用的时候只需从资源中载入即可。这里我创建一个名为 ClientScript.js 的文件。

 1<script language = "javascript">
 2function ClickEvent(name)
 3{
 4    alert("Hello: " +name);
 5}
 6
 7function KeyDown()
 8{
 9    if (event.keyCode==116)
10    {
11         event.keyCode=0;
12         event.returnValue=false;
13    }
14 
15      return false;
16}
string szClientScript = ManagedWebBrowser.Properties.Resources.ResourceManager.GetString("ClientScript");

            string szWebBrowserText = "<html>" +
                "<head>" +
                "<title></title>"+               
                    szClientScript +
                 "</head>" +
               "<body onkeydown=\"KeyDown()\" oncontextmenu=\"event.returnValue=false\">"+
              
               "Please enter your name:<br/>"+
                 "<input type='text' name='Name'/><br/>"+
                 "<font onclick = 'ClickEvent(Name.value)'>Click Here</font>"+
                "</body></html>";
            webBrowser1.DocumentText = szWebBrowserText;
WebBrowser 是 System.Windows.Forms 下的控制项,也就是意味着它是用在WimForm程序下,那么WebWrower所载入的Web页面如何实现在WinForm程序下处理呢。例如上例中的 "<font onclick = 'ClickEvent(Name.value)'>Click Here</font>" 。这里的Click事件是通过脚本处理的,如何让这个Click事件在Winform中处理呢?这里要做一些修改。若要从指令码存取用户端应用程式,需要设定ObjectForScripting 属性。指令码可以将您指定的物件当做window.external 物件来存取。


共2页: 上一页 1 [2] 下一页
相 关 文 章   发布商链接
·winform实现窗体嵌入并操作可视化Exc...
·WNFORM实现窗体的DataGrid控件刷新
·WINFORM实现的用于拖放操作和文件复...
·WinForm下ListBox控件“设置DataSour...
·图解JFreeChart文字模糊问题的解决方...
·解决winform得不到GridView控件隐藏...
·Winform怎样判断一个窗体是否已被打...
·DataGridView控件如何实现分页的功能...
·在Winform中如何用正则表达式获取网...
·Winform窗体之间传值的几种方法总结...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·解决winform得不到GridView控
·winform实现窗体嵌入并操作可
·winform实现的仿Msn移动提示...
·WinForm实现渐变窗体效果代码
·winform实现类似QQ滑动面板的
·asp.net中当按下回车键时响应
·WinForm中TextBox控件循环自...
·winform如何保持TreeView节点
·图解winform用户控件添加自定
·dataset.GetChanges()为什么...
·winform中DatagridView单元格
·WebBrowser中html元素如何触...
·winform中如何获得TextBox光...
·winform中通过设置钩子监视鼠
·Winform获取弹窗消息框中的文
热 门 文 章
·asp.NET实现视频播放器功能代...
·winform中DatagridView单元格...
·使用C#制做进程监视器,可查看...
·WinForm编程开发实用技巧14则
·C#的简单图片透明处理代码以...
·如何实现winform自动点击webb...
·winform实现类似QQ滑动面板的...
·winform如何保持TreeView节点...
·如何做winform启动页面?
·图解winform用户控件添加自定...
·winform中如何获得TextBox光...
·Winform窗体之间传值的几种方...
·DataGridView控件如何实现分...
·asp.net中当按下回车键时响应...
·C#实现在Windows应用程序中支...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .