博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows 7样式地址栏(Address Bar)控件实现
阅读量:6123 次
发布时间:2019-06-21

本文共 1145 字,大约阅读时间需要 3 分钟。

hot3.png

介绍

从Vista开始,地址栏就有了很大的改变,不知道大家有什么感觉,笔者觉得很方便,同时又兼容之前的功能,是个很不错的创新。不过,微软并不打算把这一很酷的功能提供给广大的开发人员。

本文提供了一个简单的Address Bar实现,使用.NET 2.0和VS2008. 它是基于一个简单的树型遍历实现的,同时适用于各种级联数据。

abe.png

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)的数据都可以用它来呈现。

 

许可证

本文以及示例代码文件遵循。

 

源码下载

附件:

 

英文链接:

本文出自 “” 博客,请务必保留此出处

转载于:https://my.oschina.net/powertoolsteam/blog/278213

你可能感兴趣的文章
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>