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

ASP.NET
利用ASP.NET和AJAX解决手工拼接HTML问题
Asp.net关于动态输出服务器控件的应用
技巧/诀窍:在ASP.NET中重写URL
ASP.NET 自定义控件从入门到精通3
以Post方式向网页发送数据
ASP.NET实现数据采集
使用ASP.NET Image Generation生成图片缩略图及水印
ASP.NET安全问题--ASP.NET安全架构
反思软件系统与软件系统之间的集成交互问题
.Net实现程序的插件机制
作为ASP.NET开发人员必须养成的编程习惯
总结了一下ADO.NET数据库连接的相关知识
VB.NET中有用的通用对象列表
HTTP Error 503与.NET 3.5 SP1 X64
ASP.NET创建Web服务之使用事务
ASP.NET中基类Page_Load方法后执行原因分析
ASP.NET中让网页弹出窗口不再困难
改变.net网站的默认解决方案位置
.net垃圾回收和CLR 4.0对垃圾回收所做的改进之二
.net垃圾回收和CLR 4.0对垃圾回收所做的改进之一

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 162 ::
收藏到网摘: 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; } }