包含用户名数据的 AutoCompleteCustomSource 不起作用

2023-11-30

我正在尝试创建一个具有自动完成功能的文本框。
在我的表单的构造函数中,我从数据库获取数据并设置文本框AutoCompleteCustomSource属性到用户名数组。
由于某种原因,自动完成功能不起作用。

我确信没有任何问题db.getUsersList()方法(底部截图)。

public mainPanel()
{
    InitializeComponent();
    AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
    collection.AddRange(db.getUserList().ToArray());
    nickName.AutoCompleteCustomSource = collection;
}

enter image description here


要设置支持自动完成的控件,必须指定自动完成功能的来源。当使用设置为字符串集合时自动完成自定义源财产,自动完成源属性必须设置为自动完成源.自定义源 and 自动完成模式设置为AutoCompleteMode.SuggestAppend or AutoCompleteMode.Suggest.

这些属性必须一起使用指定自动完成功能的工作方式。

因为问题中的代码似乎正在使用某种数据源来创建AutoCompleteCustomSource集合,这是一个创建一个通用示例CustomSource from a List<class>,使用 a 将绑定添加到控件Binding类并使用更新一些控件的值BindingSource.

该示例(如视觉示例所示)使用三个控件:一个 TextBox (txtAutoComp),其中启用了自动完成功能,以及两个标签(lblNickName and lblNickValue),绑定到同一数据源,当 AutoComple 控件的文本更改时更新。
自动完成功能已扩展为允许使用部分字符串查找元素,只需单击按钮 (btnFindNick,此处)或按Enter在文本框中键入:

TextBox AutoCompleteCustomSource

private class NickName
{
    public string Nick { get; set; }
    public int Value { get; set; }
}

private BindingSource source = null;
private List<NickName> NickNames = null;

private void Form1_Load(object sender, EventArgs e)
{
    NickNames = new List<NickName>();
    NickNames.AddRange(new[] {
        new NickName() { Nick = "", Value = 0 },
        new NickName() { Nick = "Andrea", Value = 10 },
        new NickName() { Nick = "Arnold", Value = 20 },
        new NickName() { Nick = "Barbara", Value = 30 },
        new NickName() { Nick = "Billy", Value = 40 },
        new NickName() { Nick = "Clint", Value = 50 },
        new NickName() { Nick = "Cindy", Value = 60 },
    });
    source = new BindingSource();
    source.DataSource = NickNames;

    txtAutoComp.AutoCompleteMode = AutoCompleteMode.Suggest;
    txtAutoComp.AutoCompleteSource = AutoCompleteSource.CustomSource;
    txtAutoComp.AutoCompleteCustomSource.AddRange(NickNames.Select(n => n.Nick).ToArray());

    Binding textBind = new Binding("Text", source, "Nick", true, DataSourceUpdateMode.OnPropertyChanged);
    textBind.Parse += (s, evt) => {
        source.CurrencyManager.Position = NickNames.FindIndex(1, r => r.Nick.Equals(evt.Value));
    };

    txtAutoComp.DataBindings.Add(textBind);
    lblNickName.DataBindings.Add(new Binding("Text", source, "Nick"));
    lblNickValue.DataBindings.Add(new Binding("Text", source, "Value"));
}

private void btnFindNick_Click(object sender, EventArgs e)
{
    FindNick(txtAutoComp.Text);
}

private void txtAutoComp_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter) {
        e.SuppressKeyPress = true;
        FindNick(txtAutoComp.Text);
    }
}

void FindNick(string partialName) 
    => this.source.CurrencyManager.Position = NickNames.FindIndex(
        1, r => r.Nick.Contains(partialName)
    );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

包含用户名数据的 AutoCompleteCustomSource 不起作用 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • Python tkinter 跟踪错误

    我正在尝试为我的代码编写一个 GUI 我的计划是使用 tkinter 的StringVar DoubleVar等来实时监控我的输入 所以我发现DoubleVar trace w callback 功能 但是 每次我进行更改时都会遇到异常 E
  • 如何检查鼠标是否位于 MovieClip 上?

    没有听众参与 问题是 我可以用鼠标移到 and 鼠标输出侦听器 但如果您足够快地将鼠标拖动到影片剪辑上 则可能不会激活其中一个侦听器 我已经尝试过好几次了 我从来没有遇到过 mouseOver 和 mouseOut 的问题 但你可以使用 h
  • 我可以使用 Flutter 更改 iOS (Android) 上的底部颜色吗

    我们可以在 Flutter 中使用 API 在 iOS Android 上更改此颜色吗 是的 您可以使用 API 来更改底部安全区域的颜色 尝试使用以下代码 我希望你的问题能够得到解决 override Widget build Build
  • 返回上一个视图控制器不起作用

    我的第一个视图控制器有一个按钮 它触发 IBActiongoTo2ndVc 它呈现了第二个 ViewController class FirstVC UIViewController IBAction func goTo2ndVc let
  • 隐式等待、显式等待、流畅等待

    隐式 显式 流利等之间有什么区别 如果我们在隐式等待中设置 10 秒 并且在 10 秒之前 则在 3 秒内只有元素被定位 到时候会发生什么 它将等待 10 秒钟或继续进行 隐式等待 隐式等待是一个配置的实现网络驱动程序实例即driver进行
  • 查看 NSCharacterSet (Swift) 中的字符[重复]

    这个问题在这里已经有答案了 当我尝试像这样列出 NSCharacterSet 中的字符时 print NSCharacterSet URLQueryAllowedCharacterSet 它不会打印出字符 而是打印出类似的内容 基于另一个答
  • SQL Server 2008,根据订单类型和订单日期时间将库存分配给销售订单数量

    我根据以下订单类型将库存先进先出分配给销售订单 DECLARE tblOrder TABLE DealerCode NVARCHAR 50 PartCode NVARCHAR 50 OrderQty INT OrderType NVARCH
  • 使用 Newtonsoft.Json 解析 json 时出现 RuntimeBinderException

    我正在尝试将简单的 json 解析为 Windows Phone 8 中的动态对象 我使用 Newtonsoft JSON 库和以下代码 dynamic response JObject Parse responseText string
  • cypress 中的条件语句

    我正在尝试在 cypress 上执行条件语句 以检查标题中的登录链接是否为 登录 或 帐户 或 类 然后单击它 if 条件不起作用 cy get header then header gt if header find Sign in le
  • 错误:文件路径太长

    我正在尝试使用 C 中的各种文件函数 例如File GetLastWriteTime 对放置在大于 Windows 7 上允许的最大路径 即 260 的路径上的文件执行复制命令 它在长路径名上给我一个错误 在 MSDN 支持上 我他们要求使
  • 我可以将 R8G8B8A8 放入 UBO 中,并将其用作 vec4 吗?

    我尝试优化工作计算着色器 它的目的是创建一个图像 找到合适的颜色 使用一个小调色板 然后调用imageStore image ivec2 vec4 颜色在 UniformBuffer 的 uint 数组中进行索引 该 UBO 中的一种颜色封
  • 通过访问路由名称参数来自动化委托权限并检查用户的权限

    我已经为 ACL 层实现了委托角色 现在 我计划自动对每个请求进行权限检查 这样每次我就不必为用户角色编写权限 例如 我有公司资源 用户角色为 管理员 他只能查看公司 另一个用户角色为 超级 可以管理公司 在数据库中 我为他们提供了适当的权
  • Android操作栏自定义图标

    I want to create Action Bar like this 我在开发指南中看到操作栏图标应该具有特定的大小 是否可以 是否可以在操作栏中添加没有可点击指示的项目 我理解您对操作栏图标大小的担忧 我也有同样的担忧 直到我发现这
  • 如何将 ezComponents 与 magento 集成

    在 本机 Zend Framework 应用程序中 我将通过将 ezComponents 的自动加载器添加到 Zends 自动加载器来启用 ezComponents autoLoader Zend Loader Autoloader get
  • 刷新node.js脚本!

    我正在从终端 mac 运行带有 node js 的脚本 当我更改脚本时 我希望能够重新运行它 而不必关闭并重新打开终端 我是 mac 新手 不知道如何执行此操作 Thanks How are you starting Node You sh
  • Python 多重处理和序列化数据

    我正在学校计算机上运行脚本multiprocessing模块 我经常序列化数据 可以用下面的代码来概括 import multiprocessing as mp import time pickle def simulation j dat
  • hibernate和mappedBy:是否可以自动设置外键而不设置对象之间的双向关系?

    Welcome 我有两门课 对话和问题 一场对话有很多问题 对话 java package com jcg jpa mappedBy import java io Serializable import java util ArrayLis
  • 将文档末尾的元素放置在页面顶部

    我有一个div就在之前文档的标签 在文档结束之前 我想使用 CSS 或 JavaScript 在页面顶部显示这个 div 我知道关于position absolute 问题是 如果我使用它 div 将显示在位于顶部的其他内容之上 而不是显示
  • Power Bi Desktop - 如何在表之间添加值?

    我正在尝试创建一个列 该列的总值介于 3 个表中的 3 列之间 我该怎么做呢 这两个表是共享一个 id 的值表 并且它们都通过 Id 链接到帐户表 目标是将 3 列相加 并将其放入按 Id 分组的表中 我尝试对它们进行求和 尝试使用 USE
  • 包含用户名数据的 AutoCompleteCustomSource 不起作用

    我正在尝试创建一个具有自动完成功能的文本框 在我的表单的构造函数中 我从数据库获取数据并设置文本框AutoCompleteCustomSource属性到用户名数组 由于某种原因 自动完成功能不起作用 我确信没有任何问题db getUsers