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

ASP.NET
ACCESS数据库访问组件(三)
ACCESS数据库访问组件(四)
在ASP.NET访问Excel文件
使用正则表达式解析的初步体会(固定格式网页解析)
一段找出URL的代码(C#)
C#中的转意字符序列
创建表,创建行,创建列(VB.NET)
刀兄写的IIS管理类(C#)
索引服务调用代码(C#)
VB.NET里奇怪的数组赋值现象
C#运算符的优先顺序
[初学VB.NET]如何防止重复打开MDI子窗体
第二版出错的地方,大家看看第三版我的翻译对么?
VB的API编程精粹
表格架构基本框架DEMO码
用C#实现在客户区拖动窗体(转自MSDN)
在ASP.NET中利用GDI+ 设计Chart控件
关于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
Nucleus.MockAOP.Net:OpenSource .Net AOP FrameWork
VB中打印ACCESS报表

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


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