惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - Frederick

C#多线程网页采集器(Spider) 代朋友招聘VB.NET开发人员(天津) 博客园期刊2006年第三期 3月份期刊延期通知 博客园期刊团队2006年企划 博客园电子期刊06年2月刊 2006年1月第一期下载 博客园电子期刊2005年12月第二期(总第三期) 12月第二期杂志,内部预览 博客圆期刊12月第一期WEB在线阅读版 12月终稿已经定下来了 博客园期刊团队对于方便内部联系的要求。 希望各位编辑踊跃投稿 博客园电子杂志2005年12月第一期 将您的文章投稿到期刊编辑部 请大家评选一下12月首期的封面 12月首期期刊封面预览-感谢Shalala的制作 编辑投稿要求 博客园期刊企化与人员招募(修订版)
Windows Form 2.0 自动完成
Frederick · 2005-11-25 · via 博客园 - Frederick
 

使用过IE的人应该对自动完成并不陌生,它可以帮助使用者快速输入曾经输入过的内容,

图表 1 IE的自动完成

这个是在网页上的过去有人问过,“自动完成在Windows Form 中是否可行?”答案在.NET Framework 1.x 中没有此公能,需要使用者自行开发。在.NET Framework 2.0 中已经内建了此功能,本文介绍.Net Framework 2.0 Windows Form 自动完成。

自动完成属性:

Windows Form 中的TextBoxComboBox…等文字框类的控件支持自动完成属性,通过这些属性的制定,可以指定自动完成功能的不同形式:

AutoCompleteMode属性

       指定自动完成的形式,可以设定NoneSuggestAppendSuggestAppend几种形式。默认值是None,不使用自动完成模式。设定为Append模式时,会在输入后自动将资料来源中的文字加入到方框中。(图2)设定为SuggestAppend模式时,不会自动补齐资料,而是弹出列表供用户选择(图3

图表 2    Append                                                           图表 3SuggestAppend

AutoCompleteSource属性:

设定自动完成资料的来源。可以设定NoneAllSystemSourceAllUrlCustomSourceFileSystemFileSystemDirectoriesFileSystemFileSystemDirectoriesHistoryListRecentlyUsedList等多项。

AutoCompleteCustomSource属性

AutoCompleteSource的属性设置为CustomSource时,可以用此属性自定义自动完成字符串。

自定来源

       为了应付更多非文档或Url的要求,AutoCompleteSource 属性提供CustomSource选项让开发人员可以透过AutoCompleteCustomSource属性指定更多资料来源以便符合更多类型的需要。

AutoCompleteCustomSource属性是AutoCompleteStringCollection的形态,支持AddAddRange等方法以加入需要的字符串,如例:

VB.Net

Dim member() As String = {“one”,”two”}

TextBox2.AutoCompleteCustomSource.AddRange(member)

新输入的资料不会加入自动完成清单的解决方法

需要使用Add()方法,系统不会自动加入

结束程序,再启动,以前的自动完成清单不见了?

       程序结束后再启动,你会发现先前所加入的清单不见了?没错,那是因为之前的资料(自动完成的字符串集合)只保留在内存中,当应用程序结束后,内存中的资料也随之消失,解决方法是将内存中的资料存档,方法当然有很多了。可以使用FileStream  StreamWriter 等,在这里,我推荐使用Windows应用程序设定的功能(就是App.Config)设定中有专门的AutoCompleteStringCollection类型可以供存贮,关于方法大家可以查阅MSDN的资料在这里我就不再废话了。

结束语

Windows Form .Net 2.0中终于有了自动完成功能,这个功能可以套用到TextBoxComboBox等文字输入类的控制项,配合应用程序的设定档,可以达到更完整的功能。