首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在c#中用textbox AutoCompleteMode搜索列表框

在C#中,可以使用TextBox的AutoCompleteMode属性来实现搜索列表框的自动完成功能。AutoCompleteMode属性定义了文本框的自动完成模式,可以设置为以下几种模式之一:

  1. None:禁用自动完成功能。
  2. Suggest:在用户输入时,根据已输入的文本提供建议。
  3. Append:在用户输入时,根据已输入的文本提供建议,并将建议文本追加到文本框中。
  4. SuggestAppend:结合Suggest和Append两种模式,提供建议并将建议文本追加到文本框中。

要实现搜索列表框的自动完成功能,可以按照以下步骤进行操作:

  1. 在窗体上添加一个TextBox和一个ListBox控件,分别用于输入和显示搜索结果。
  2. 设置TextBox的AutoCompleteMode属性为Suggest或SuggestAppend,根据需求选择合适的模式。
  3. 为TextBox的AutoCompleteCustomSource属性设置一个字符串集合,用于提供自动完成的建议列表。可以通过手动添加或从数据库、文件等来源获取建议列表。
  4. 将ListBox控件与TextBox关联,以便在用户选择建议项时更新TextBox的文本。
  5. 在TextBox的TextChanged事件中,根据已输入的文本更新ListBox的显示内容,以实现实时搜索和自动完成。

下面是一个示例代码,演示如何在C#中使用TextBox的AutoCompleteMode属性实现搜索列表框的自动完成功能:

代码语言:txt
复制
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace AutoCompleteExample
{
    public partial class Form1 : Form
    {
        private List<string> suggestions = new List<string>()
        {
            "Apple", "Banana", "Cherry", "Durian", "Grape", "Lemon", "Orange", "Peach"
        };

        public Form1()
        {
            InitializeComponent();

            textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            textBox1.AutoCompleteCustomSource.AddRange(suggestions.ToArray());
            textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;

            listBox1.Visible = false;
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string searchText = textBox1.Text.ToLower();
            List<string> filteredSuggestions = suggestions.FindAll(s => s.ToLower().Contains(searchText));

            listBox1.DataSource = filteredSuggestions;
            listBox1.Visible = filteredSuggestions.Count > 0;
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex != -1)
            {
                textBox1.Text = listBox1.SelectedItem.ToString();
                listBox1.Visible = false;
            }
        }
    }
}

在上述示例中,我们创建了一个窗体,其中包含一个TextBox和一个ListBox控件。TextBox的AutoCompleteMode属性被设置为SuggestAppend,AutoCompleteCustomSource属性被设置为一个包含一些水果名称的字符串集合。在TextBox的TextChanged事件中,根据已输入的文本更新ListBox的显示内容,以实现实时搜索和自动完成。当用户选择ListBox中的某个建议项时,该项的文本将自动填充到TextBox中。

这只是一个简单的示例,实际应用中可以根据需求进行扩展和优化。对于更复杂的需求,可以考虑使用数据库或网络请求来获取建议列表,并使用更高级的搜索算法来提高搜索效率。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云主页:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iotexplorer
  • 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  • 对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯区块链服务(TBCAS):https://cloud.tencent.com/product/tbcs
  • 腾讯云元宇宙(Tencent Cloud Metaverse):https://cloud.tencent.com/solution/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年11月 Winform控件专题 TextBox控件详解

欢迎 点赞✍评论⭐收藏前言Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、...HideSelection属性只对可编辑的控件(文本框、组合框等)有效,对于只读控件(标签、按钮等)无效。....AutoCompleteCustomSource.AddRange(autoSource);//设置AutoCompleteModetextBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend...搜索:将TextBox控件作为搜索框,用户可以在其中输入关键字,搜索框下方显示搜索结果。文本编辑:将TextBox控件作为文本编辑器,用户可以在其中编辑文本,包括格式、字体、大小等。...自动完成:将TextBox控件的AutoCompleteMode属性设置为“Suggest”或“Append”,以实现自动完成输入功能。

47523

C#复习题 填空题

添加到窗体的每个组件,Button、TextBox等,都称为 控件         。 若要在同一窗体中安排两组单选按钮,可用  radio控件    控件予以分隔。...添加到窗体的每个组件,Button、TextBox等,都称为 控件         。 在C#中,将文本框TextBox1清空,可用语句表示为  Items.Clear();   。...在C#中,将文本框TextBox1清空,可用语句表示为 Items.Clear();       。 已知:double x=4.3%1.7; 则x的值是_2_ 。...C#中用关键字 class     创建类,使用关键字   new  创建类的对象并调用构造函数。 在数据类型中,浮点型包括单精度和___双精度Double  两种。...在C#标准控件中,有文本框和列表框组合在一起形成的控件称为 组合框ComboBox  。

3.9K10
  • C# Web控件与数据感应之 Control 类

    本文将继续介绍以与数据库提取数据并捆绑控件为例,讲解 C# 创建适用于 Control 类的更加广泛兼容的通用方法。...string 对应数据库的连接字符串 3 sql string 要执行的SQL语句命令行 4 paras ArrayList 要赋值的参数对象,逐个添加到ArrayList里,请注意参数为实体数据参数对象,...对象,方法将根据控件类型判断,以决定如何进行赋值,此说明将再后续表格进行说明 8 allownull bool 是否允许添加一个空项,指捆绑成功后是否还需要添加一个空项,该空项会自动增加到第一个选项(Value...WebControls.TextBox Text 取keyfield字段值 4 System.Web.UI....(文本框) 控件 和 ID 为 DDL 的 DropDownList (下拉列表框) 控件,则调用的示例代码如下: ArrayList paras = new ArrayList(); string

    6410

    设计模式的征途—10.装饰(Decorator)模式

    :★★★☆☆ 使用频率:★★★☆☆ 一、图形界面构件库设计 1.1 需求背景 背景:M公司开发部基于OO技术开发了一套图形界面构件库Visual Component,该构件库提供了大量的基本构件,窗体...、文本框、列表框等等,由于在使用该构件库时,用户经常要求定制一些特殊的显示效果,例如带滚动条的窗体,带黑色边框的文本框,即带滚动条又带黑色边框的列表框等,因此经常需要对该构件库进行扩展以增强其功能,如下图所示...通过分析该设计方案,不难发现存在以下问题:   (1)系统扩展麻烦,在C#/Java中根本无法实现(不支持多继承)。   (2)代码重复,不利于对系统进行修改和维护。   ...public abstract class Component { public abstract void Display(); }   (2)具体构件:Window, TextBox...; } } /// /// 文本框类:具体构件类 /// public class TextBox :

    47330

    C# Web控件与数据感应之属性统一设置

    如图其中放置了一些标签(Label)控件、(TextBox)文本框控件、(DropDownList)下拉列表框,用于录入及选择一些值,比如现工作单位、参加工作时间、职称、职务等信息。...实际业务中,如不同的用户类型,相同的注册界面,则可考虑某些输入项的必填写属性的变化,没有工作单位的则无须填写现工作单位和参加工作时间,反之在职人员则必须填写(图中标签带有*号的均为必填写项的提示性标志...Windows Server 2019 DataCenter 数据库:Microsoft SQL Server 2016 .net版本: .netFramework4.0 或以上 开发工具:VS2019 C#...) (2)4个值的情况, new string[]{ "l_", "","x_","*" } ,前2个值可以设置为空略过,后两个值为必填写项的设置,第4个值为必填写项的提示字符前缀,“*”号 方法中会用到...GetReaderData 方法可以访问数据库数据表进行查询结果的提取,并转化为 object[,] 二维数组,具体实现请参考我的文章:《C# Web控件与数据感应之 填充 HtmlTable》中的GetReaderData

    10510

    C#学习笔记—— 常用控件说明及其属性、事件

    如果未找到搜索字符串或者str参数指定的搜索字符串为空,则返回值为1。...如果返回负值,则未找到所搜索的文本字符串。还可以使用此方法搜索特定格式的文本。的 参数RichTextBoxFinds指定如何在控件中执行文本搜索,其取值及其含义如表9-4 所示。...使用PrintDialog控件可以显示Windows标准的【打印】对话框,在该对话框中用户可以选择打印机、选择要打印的页及页码范围等。...C#项目刚建立时只有一个名为Form1的窗体,要建立多窗体应用程序应首先为项目添加窗体,添加窗体的方法如下。...除此以外,子窗口的行为与任何其他窗口一样(可以关闭、最小化和调整大小等)。

    9.6K20

    一起学习设计模式--10.装饰模式

    一、图形界面构件库的设计 A公司基于面向对象技术开发了一套图形界面构件库,该构件库提供了大量基本构件,窗体、文本框、列表框等。...由于在使用该构件库时,用户经常要求定制一些特殊的显示效果,带滚动条的窗体、带黑色边框的文本框、既带滚动条又带黑色边框的列表框等,因此经常需要对该构件库进行扩展以增强功能。...开发人员针对上述要求,提出了一个基于继承复用的初始设计方案,基本结构如下: 上图中,在抽象类Component中声明了抽象方法 Display(),其子类 Window、TextBox、ListBox...在C#、Java等面向对象的编程语言中,都不支持多重类继承,因此在这些语言中无法通过继承来实现对来自多个父类的方法重用。 代码重复。...为了让系统具有更好地灵活性和可扩展性,克服继承复用所带来地问题,A公司开发人员使用装饰模式来重构图形界面构件库地设计,其中部分结类地结构如图: Component 充当抽象构件类,其子类 Window、TextBox

    46530

    【愚公系列】2023年09月 WPF控件专题 Label、TextBox、PasswordBox控件介绍

    原生控件是由Microsoft提供的内置控件,Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。...自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。...除了基本的TextBox控件,WPF还提供了一些扩展的TextBox控件,PasswordBox、RichTextBox等。...3.PasswordBox PasswordBox控件是WPF中用来输入密码和其他敏感信息的常用控件之一。它的主要特点是输入的内容是被隐藏的,以保护用户的敏感信息不被看到。...Name="button1" Margin="10,50,10,10" Click="button1_Click">Show Password C#

    50311

    【愚公系列】2023年11月 Winform控件专题 Label控件详解

    欢迎 点赞✍评论⭐收藏前言Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、...在需要显示ContextMenuStrip的控件(Button、DataGridView等)的MouseDown事件中编写代码,通过Show方法显示ContextMenuStrip。...记住AutoSize为true时2.常用场景Winform中Label控件常用场景有:显示文字:Label控件可以用于显示文本信息,窗口标题、提示信息、作者信息等。...状态栏:Label控件可以用于显示状态栏信息,操作完成提示、进度条百分比信息等。超链接:Label控件可以模拟超链接,使用户可以通过点击标签跳转到其他界面或打开其他文件。...以下是一个具体的案例,用于说明如何在Winform中使用Label控件:在Visual Studio中创建一个新的Winform项目。在Form中添加一个Label控件。

    78911

    dotnet 从入门到放弃的 500 篇文章合集

    C# 判断系统版本 C# 动态加载卸载 DLL C# 复制列表 C# 如何写 DEBUG 输出 C#何在项目引用x86 x64的非托管代码 C# 已知点和向量,求距离的点 C# 强转会不会抛出异常...C# 很少人知道的科技 C# 快速释放内存的大数组 C# 搜索算法 C# 获得设备usb信息 C# 转换类型和字符串 C# 遍历枚举 C# 金额转中文大写 C#将dll打包到程序中 c-70 c-设计模式...win10-uwp-访问解决方案文件 win10-uwp-车表盘-径向规 win10-uwp-随着数字变化颜色控件 win10-uwp-隐私声明 win10-uwp-颜色转换 win10-uwp-验证textbox...WriteableBitmap 写文字 WPF 如何在应用程序调试启动 WPF 如何在绑定失败异常 WPF 如何画出1像素的线 WPF 如何调试 binding WPF 封装 dotnet remoting...调用其他进程 WPF 延迟加载 WPF 开发 WPF 异常 NativeWPFDLLLoader.LoadNativeWPFDLL WPF 弹出 popup 里面的 TextBox 无法输入汉字 WPF

    10.4K20

    .NET 封装的Windows平台轻量DirectUI框架

    生成的动态链接库支持被其它语言python、java、go、dephi、C#、VB、易语言等调用。 扩展组件自由灵活,引擎处理底层逻辑。用户只需编写绘制代码,不需要考虑复杂的消息处理。...目前支持组件有按钮、开关、单选框、选择框、编辑框、富文本编辑框、列表框、报表列表、模板列表、分组框、组合框、菜单、树形框、滑块、单选框、选择框、选项卡、加载动画框、旋转图片框、页面、图片框、消息框、图标列表...推荐阅读: 对.NET系统架构改造的一点经验和教训 一个.NET 7 + DDD + CQRS +React+Vite的实战项目 程序员开发者神器:10个.Net开源项目 一份阅读量突破10万+的C#.../.NET/.NET Core面试宝典(基础版) 【微信自动化】使用c#实现微信自动化 细聊C# AsyncLocal如何在异步间进行数据流转

    29541

    c#实战教程_ps初学者入门视频

    string s=”ABC科学”; int i=s.IndexOf(“科”); 搜索”科”在字符串中的位置,因第一个字符索引为0,所以”A”索引为0,”科”索引为3,因此这里i=3,没有此字符串...该属性定义在类Person中不合适,因为有些人无工资,小孩。定义一个类作为基类,包含工资属性,但C#不支持多继承。可行的办法是使用接口,在接口中声明工资属性。...下面的代码演示如何在c:\Example下创建名为e1.txt的文件。...(4) 在Panel控件中增加一个TextBox控件,属性Name=textBox1,属性Text为空,用来输入要搜索的文件或文件夹。...(5) 在Panel控件中增加一个TextBox控件,属性Name=textBox2,属性Text为空,用来输入搜索范围。

    15.6K10

    使用C#开发数据库应用程序

    对比: 组织代码的方式:C#使用命名空间(namespace),java使用包(package) 引入命名空间或包的关键字:C#使用using,java使用import 程序入口:C#使用Main...b.使用基本控件 (1)标签【Lable】 属性:Image将在标签上显示的图像 Text在标签上显示的文本 (2)文本框(TextBox) 属性 MaxLenth 指定可以在文本框中输入的最大字符数...【ListBox】 属性 Items 列表框中所有的项 Text 当前选定的文本 SelectedIndex 当前选定项目的索引号,列表框中的每个项都有一个索引号,从0开始 SelectedItem...通常加的前缀:Lable为lbl,TextBox为txt, Button为btn,RadioButton为rdo,ComboBox为cbo等等。...); (4)读取当前行的某列的数据 :(string)dataReader["StudentName"]; (5)关闭DataReader对象,调用它的Close()方法 :dataReader.Close

    5.9K30

    【愚公系列】2023年11月 Winform控件专题 LinkLabel控件详解

    欢迎 点赞✍评论⭐收藏前言Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、...例如,以下代码展示了如何在 LinkClicked 事件中打开系统默认的浏览器并跳转到指定的 URL:private void linkLabel1_LinkClicked(object sender,...在窗体上拖放一个LinkLabel控件、一个Label控件和一个TextBox控件。...可以根据需要设置其他属性,Tooltip、Font等等。接下来,处理LinkLabel控件的Click事件。...; label1.Visible = true;}这个方法会在用户点击LinkLabel控件时被调用,并在TextBox控件中显示帮助文档内容。

    55411

    【愚公系列】2023年11月 Winform控件专题 CheckedListBox控件详解

    下面是一个简单的示例代码:private void Form1_Load(object sender, EventArgs e){ // 添加列表项 checkedListBox1.Items.Add("C#...相反,单击项只会更改列表框的焦点,这样用户可以使用键盘上的箭头键来更改选定项。...选项过滤:如果你需要过滤或搜索大量的数据,可以使用CheckedListBox来让用户选择要显示或隐藏哪些选项。例如,一个在一个电商网站上的商品列表,用户可以通过勾选不同的选项来筛选商品。...以下是一个简单的示例,展示如何在Winforms应用程序中使用CheckBoxList控件。...这是一个非常基本的示例,演示如何在Winforms应用程序中使用CheckBoxList控件。

    1K11

    ASP.NET MVC学习笔记06编辑方法和编辑视图

    上图中用到了DataAnnotations。Display属性指明要显示的字段的名 称(在本例中“Release Date”来代替“ReleaseDate”)。...他们得到一个电影对象(或对象列表中,本案例的 Index),并把模型数据传递给视图。Create方法传递一个空的影片对象给Create视图。...的SelectList对象在ViewBag作 为存储类数据(这样的电影流派),然后在下拉列表框中的数据访问类别,是一个典型的MVC applications的方法。...Index视图添加标记 在Views\Movies\Index.cshtml文件中,添加Html.DropDownList辅助方法,在TextBox前。完成的代码如下图所示: ?...尝试搜索流派,来检索信息。 ? 在本篇中,创建了一个搜索的方法和视图,使用它,用户可以通过电影标题和流派来搜 索。

    5K50
    领券