ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:16.03KB ,
资源ID:6469663      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6469663.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(采用C#WPF实现自己的网页浏览器自定义Tab控件.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

采用C#WPF实现自己的网页浏览器自定义Tab控件.docx

1、采用C#WPF实现自己的网页浏览器自定义Tab控件采用C#WPF实现自己的网页浏览器(自定义Tab控件) 采用C#WPF实现自己的网页浏览器(自定义Tab控件)时间:2012-06-12 18:51来源:CSDN 作者:chenyujing1234 点击:108次编译平台:VS2008 + .Net Framework 3.5 语言: C# 此博客的目的: 以浏览器程序的实现,学习自定义TabControl的方法,使之能实现系统Tab不具有的功能: (1)排列方式扩展为:Top、Bottom、Left、Right (2)增加对TabItem的事件处理 (3) 一、浏览器实现 效果图: 1、启动

2、窗口显示两个按钮 1、首先导入我们自己写的控件 它们编译平台:VS2008 + .Net Framework 3.5语言: C#此博客的目的:以浏览器程序的实现,学习自定义TabControl的方法,使之能实现系统Tab不具有的功能:(1)排列方式扩展为:Top、Bottom、Left、Right(2)增加对TabItem的事件处理(3)一、浏览器实现效果图: 1、启动窗口显示两个按钮1、首先导入我们自己写的控件 它们的处理函数对应是去创建窗口WindowUsingItemProperty或WindowUsingItemsSourceProperty private void Items_Cl

3、ick(object sender, RoutedEventArgs e) / WindowUsingItemProperty对应于WindowUsingItemsProperty.xaml文件中的 / <Window x:Class=Test.WindowUsingItemProperty var win = new WindowUsingItemProperty(); win.Show(); private void ItemsSource_Click(object sender, RoutedEventArgs e) var win = new WindowUsingItemsSo

4、urceProperty(); win.Show(); 接下来的设计我们以WindowUsingItemProperty为例来说明.2、加入自定义控件Wpf.TabControl在WindowUsingItemProperty窗口的界面设计文件WindowUsingItemProperty.xaml中加入自定义控件Wpf.TabControl. 3、浏览器界面控件布局首先将界面分为三行: 3、1 每一行加入TextBlock与TextBox,用于输入网址 当输入网址确认后的处理是获得浏览器对象并让浏览器导航到指定的网址 private void textBox_KeyDown(object s

5、ender, System.Windows.Input.KeyEventArgs e) / 按了回车键 if (e.Key = Key.Return) try / 鼠标变成等待 Cursor = System.Windows.Input.Cursors.Wait; / 通过自己封闭的函数GetCurrentWebBrowser 获得当前的浏览器 System.Windows.Forms.WebBrowser browser = GetCurrentWebBrowser(); if (browser = null) return; / 浏览器导航到指定的网址 browser.Navigate(t

6、extBox.Text); finally Cursor = System.Windows.Input.Cursors.Arrow; 而浏览器的获得是通过当前TabItem来得到的 private System.Windows.Forms.WebBrowser GetCurrentWebBrowser() / 获得TabControl当前选择的TabItem Wpf.Controls.TabItem item = tabControl.SelectedItem as Wpf.Controls.TabItem; if (item = null) return null; / 获得选中的TabIt

7、em中的Content,并转化为WindowFormsHost WindowsFormsHost host = item.Content as WindowsFormsHost; if (host = null) return null; / 获得WindowFormsHost的Child,来得到浏览器对象 System.Windows.Forms.WebBrowser browser = host.Child as System.Windows.Forms.WebBrowser; return browser; 3、2 根据自定义控件TabControl的规则加入节点请注意空间 r: 的原因

8、。 3、2、1 对TabControl中的TabItem显示的三种状态进行设置。目的是为了看起来像IE7的样子。 3、2、2 加入TabItemTabItem中包括了对Header、Icon的设置,及在Item中的内容中包裹WebI浏览器 在 3、1 中我们看到GetCurrentWebBrowser的获得有两个步骤:(1)获得选中的TabItem中的Content,并转化为WindowFormsHost(2)获得WindowFormsHost的Child,来得到浏览器对象 / 获得选中的TabItem中的Content,并转化为WindowFormsHost WindowsFormsHost

9、 host = item.Content as WindowsFormsHost; if (host = null) return null; / 获得WindowFormsHost的Child,来得到浏览器对象 System.Windows.Forms.WebBrowser browser = host.Child as System.Windows.Forms.WebBrowser;3、2、2、1 浏览器DocumentTitleChanged、Navigated两个事件的处理Browser_DocumentTitleChanged主要是更新TabItems的头特性、增加一个Icon到ta

10、bItem、把浏览器的DocumentTitle加入到tabItem中的Head中 void Browser_DocumentTitleChanged(object sender, EventArgs e) System.Windows.Forms.WebBrowser browser = sender as System.Windows.Forms.WebBrowser; if (browser = null) return; / 更新TabItems的头特性 Wpf.Controls.TabItem item = tabControl.SelectedItem as Wpf.Control

11、s.TabItem; / 增加一个Icon到tabItem BitmapImage image = new BitmapImage(new Uri(pack:/application:,/Test;component/Images/ie.ico); Image img = new Image(); img.Source = image; img.Width = 16; img.Height = 16; img.Margin = new Thickness(2, 0, 2, 0); if (item != null) item.Icon = img; / 把浏览器的DocumentTitle加入

12、到tabItem中的Head中 TextBlock tb = new TextBlock(); tb.Text= browser.DocumentTitle; tb.TextTrimming = TextTrimming.CharacterEllipsis; tb.TextWrapping = TextWrapping.NoWrap; if (item != null) item.Header = tb; Browser_Navigated主要是将浏览器当前的网址传给textBox void Browser_Navigated(object sender, WebBrowserNavigatedEventArgs e) / 获得Web浏览器 System.Windows.Forms.WebBrowser browser = sender as System.Windows.Forms.WebBrowser; if (browser = null) return; / 将浏览器当前的网址传给textBox textBox.Text = browser.Url.ToString();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1