当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 自定义 StringTable 的自动完成功能 (C# API : SHAutoComplete)

ASP.NET
基于C#的接口基础教程之五
基于C#的接口基础教程之六
ASP.NET中数据库的操作初步----增加、删除、修改
从Internet上抓取指定URL的源码的方案(C#)
对C#中正则表达式的一些解读和总结
简述c#中对字符串进行分割的几种方法
ASP.NET中的事务处理和异常处理
用ASP.NET/C#连接Access和SQL Server数据库
ASP.NET 2.0中层次数据的处理
ASP.NET 2.0服务器控件之客户端功能
asp.net2.0 URL重写以及urlMappings问题(1)
asp.net2.0 URL重写以及urlMappings问题(2)
再议ASP.NET DataGrid控件中的“添加新行”功能
建立个人知识引擎的重要性
解析.Net框架下的XML编程技术
ASP.NET--制作功能完善的安装程序
Asp.net直接保存文件到客户端
.Net中消除Dll中的dependency
ASP.NET页面事件:顺序与回传详解
在ASP.NET+ORACLE添加数据记录并让ID自动增量

ASP.NET 中的 自定义 StringTable 的自动完成功能 (C# API : SHAutoComplete)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 149 ::
收藏到网摘: n/a

首先请从 Code Project 上下载源代码,其中包含了大量的 API 调用,还有详细的说明和示例,并且可以生成 ShellLib.dll 直接在自己的程序中调用。
源代码中介绍了如何使用 SHAutoComplete API,并演示了如何为 ComboBox 加入自定义的 StringTable,但没有说明如何为 TextBox 进行定义。其实这个功能经过少许的修改,就可以实现。 下面的代码说明了以上的问题: public static void AutoComplete(System.Windows.Forms.TextBox textBox, string[] list) { // 定义并实例化 ShellAutoComplete 对象 ShellAutoComplete ac = new ShellAutoComplete(); // 绑定 TextBox 对象 ac.EditHandle = textBox.Handle; // 设置自动完成选项 ac.ACOptions = ShellAutoComplete.AutoCompleteOptions.None; ac.ACOptions |= ShellAutoComplete.AutoCompleteOptions.AutoSuggest; ac.ACOptions |= ShellAutoComplete.AutoCompleteOptions.AutoAppend; ac.ACOptions |= ShellAutoComplete.AutoCompleteOptions.UpDownKeyDropsList; ac.ACOptions |= ShellAutoComplete.AutoCompleteOptions.UseTab; // 定义并返回要显示的列表 SourceCustomList custom = new SourceCustomList(); custom.StringList = list; ac.ListSource = custom; // 尝试激活自动完成功能 try { // 激活自动完成功能 ac.SetAutoComplete(true); } catch { // 如果出错则不作处理 return; } }