Windows 7样式地址栏(Address Bar)控件实现
介绍
从Vista开始,地址栏就有了很大的改变,不知道大家有什么感觉,笔者觉得很方便,同时又兼容之前的功能,是个很不错的创新。不过,微软并不打算把这一很酷的功能提供给广大的开发人员。
本文提供了一个简单的Address Bar实现,使用.NET 2.0和VS2008. 它是基于一个简单的树型遍历实现的,同时适用于各种级联数据。
Demo中提供的是一个非常简单的示例,可以浏览文件系统。这里这是展示它是如何工作的。
使用代码
了解实现最简单的办法就是直接下载源代码,然后打开玩玩看~
在Design-Time下将Address Bar Control拖入Form,然后再构造器中加入下面一行代码:
- //Initialize the bar with a root node type.
- this.AdBar.InitializeRoot(new FileSystemNode());
你只需要传入一个根节点,然后根节点就会为control提供信息。FileSystemNode包含Windows系统安装后的第一个逻辑盘信息。 要实现IAddressNode类型,有如下三个重要的方法需要自己实现:
- UpdateNode() - Used to update the node itself for any changes (e.g. in the FileSystemNode it checks for child folder changes and folder name changes)
- GetChild() - Searches for a given child node based on a unique ID (A Unique ID being whatever you define it as. In FileSystemNode, we use an absolute path for a folder as the unique ID).
- Clone() - Clones a given node as a separate value copy (rather than just by reference).
总结
示例很简单,相对来说也是轻量级的实现。如果想用它操作输了FileSystemNode以外的数据,你只需要实现IAddressNode接口,任何级联结构(hierarchical structure)的数据都可以用它来呈现。
许可证
本文以及示例代码文件遵循The Code Project Open License(CPOL)。
×××
附件:AddressBarExt2_1.zip
英文链接:Vista Style Address Bar for .NET 2.0/WinForms
转载于:https://blog.51cto.com/powertoolsteam/465578
Windows 7样式地址栏(Address Bar)控件实现相关推荐
- slider(滑动条)控件模版,样式--用图片定义控件模版
初接触wpf,想自己用图片做一个个性slider滑块控件,网上找了很久无果.后来一些机缘巧合看别人源码的时候找到了类似的,然后自己再查了一下msdn,大概弄懂了. 我们先来看看slider控件组成元素 ...
- 快速构建Windows 8风格应用6-GridView数据控件
原文:快速构建Windows 8风格应用6-GridView数据控件 本篇博文主要介绍什么是GridView数据控件.如何构建常用的GridView数据呈现样式. 什么是GridView数据控件? G ...
- iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
iOS开发UI篇-Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...
- Windows应用程序设计基础(常用控件2)
列表框控件 列表框(ListBox)控件提供一个项目列表,,用户可从中选择一项或多项.(若超过可显示的项目数会自动添加滚动条) 列表框内的项目为列表项,列表项的加入是按照一定顺序进行的,这个顺序号称为 ...
- Windows App开发之经常使用控件与应用栏
控件的属性.事件与样式资源 怎样加入控件 加入控件的方式有多种,大家更喜欢以下哪一种呢? 1)使用诸如Blend for Visual Studio或Microsoft Visual Studio X ...
- 重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame
重新想象 Windows 8.1 Store Apps (79) - 控件增强: MediaElement, Frame 原文:重新想象 Windows 8.1 Store Apps (79) - 控 ...
- Windows Phone 8.1 新特性 - 控件之应用程序栏
原文:Windows Phone 8.1 新特性 - 控件之应用程序栏 2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Pho ...
- 修改安卓默认的系统button样式,以及其它系统控件的默认样式
先介绍下修改原理:首先打开位于android.widget包下面的Button.java文件,这里有一句关键的代码如下: public Button(Context context, Attribut ...
- MFC Windows 程序设计[327]之树形表格控件例程(附源码)
MFC Windows 程序设计[327]之树形表格控件例程 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries ...
最新文章
- “无路之门”,一款VR恐怖冒险游戏
- m行n列最大值和最小值C语言,找数组最值 按如下函数原型编程从键盘输入一个m行n列的二维数...
- (chap4 IP协议) IP协议
- Golang——垃圾回收GC
- Linux学习笔记007---Centos7中配置静态ip
- thymealf 高级用法_史上最详 Thymeleaf 使用教程
- smarty手册 分离php和html
- 马哥Linux 高端运维云计算就业班
- 嵌入式Linux书籍清单
- 如何创建SQL Server Management Studio 18(SSMS)扩展
- CentOS cp复制命令覆盖文件不提示 实现直接覆盖
- python——【1】gzip压缩文件
- rhel6.5搭建mantis时报错
- 人月神教beta阶段冲刺报告集合
- cpu要和gpu搭配吗_谈谈CPU和显卡如何搭配
- python 监控键盘输入_python 监控键盘输入
- 第三方支付平台业务分析
- 2020中北大学计算机调剂名额,2020年中北大学考研调剂信息
- 学习是怎样的一个过程??
- Warning: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given in求解决
热门文章
- AndroidStudio安卓原生开发_android中使用StringUtils类_引入commons-lang的jar---Android原生开发工作笔记132
- C++_类和对象_C++多态_多态案例1-计算器类_抽象父类---C++语言工作笔记071
- STM32工作笔记0034---蜂鸣器实验-M3
- tomcat 无端口号访问
- Could not calculate build plan
- 杭电1863畅通工程
- Unable to resolve target 'android-7'
- 百度实习笔试题(2012.5.6)
- 计算机二级access上机题,计算机二级ACCESS上机题库
- 随想录(用好Visual Studio开发平台)