博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform Textbox模糊搜索实现下拉显示+提示文字
阅读量:5037 次
发布时间:2019-06-12

本文共 2695 字,大约阅读时间需要 8 分钟。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace _04TextBox{    public partial class Form1 : Form    {        List
Data = new List
(); string Randomstr = "功夫撒黑胡椒hcbvf蜂窝qwertyuiopasdfghjklzxcvbnm法国的恢复到飞范德萨QWERTYUIOPASDFGHJKLZXCVBNM出现过热423贴①46546也有一头热刚恢复到贴3天赋如头3广泛的我让他"; Random rd = new Random(GetRandomSeed()); static int GetRandomSeed() { byte[] bytes = new byte[4]; System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider(); rng.GetBytes(bytes); return BitConverter.ToInt32(bytes, 0); } public Form1() { InitializeComponent(); //2000W数据,这里会有卡顿现象,这里修改为200W for (int i = 0; i < 2000000; i++) { Data.Add(Randomstr.ToCharArray()[rd.Next(Randomstr.Length)].ToString() + Randomstr.ToCharArray()[rd.Next(Randomstr.Length)].ToString() + Randomstr.ToCharArray()[rd.Next(Randomstr.Length)].ToString() + Randomstr.ToCharArray()[rd.Next(Randomstr.Length)].ToString() + Randomstr.ToCharArray()[rd.Next(Randomstr.Length)].ToString()); } //重点代码 this.textBox1.AutoCompleteCustomSource.Clear(); this.textBox1.AutoCompleteCustomSource.AddRange(Data.ToArray()); this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource; } private void Form1_Load(object sender, EventArgs e) { } }}

 提示内容,加个变量跟两个事件

#region 实现提示文字        Boolean textboxHasText = false;//判断输入框是否有文本         ///         /// textbox获得焦点        ///         ///         ///         private void textBox1_Enter(object sender, EventArgs e)        {            if (textboxHasText == false)                textBox1.Text = "";            textBox1.ForeColor = Color.Black;        }        ///         /// textbox失去焦点          ///         ///         ///         private void textBox1_Leave(object sender, EventArgs e)        {            if (textBox1.Text == "")            {                textBox1.Text = "提示内容";                textBox1.ForeColor = Color.LightGray;                textboxHasText = false;            }            else                textboxHasText = true;        }        #endregion

 

转载于:https://www.cnblogs.com/lsgsanxiao/p/7008636.html

你可能感兴趣的文章
Java 虚拟机部分面试题
查看>>
二叉树的遍历问题总结
查看>>
Spring之面向切面编程AOP
查看>>
MATLAB GUI程序设计中使文本框接收多行输入的方法
查看>>
全文检索-Elasticsearch (四) elasticsearch.net 客户端
查看>>
Oracle DBMS_SESSION
查看>>
sublime复制当前行到下一行
查看>>
WPF 3D变换应用
查看>>
ArchLinux安装开源VMware Tools
查看>>
DB2 锁升级示例1
查看>>
16.RDD实战
查看>>
MainFrame知识小结(20120210)—dfsort/syncsort中的数据类型
查看>>
D - Flip tile
查看>>
Java连接RabbitMQ之创建连接
查看>>
开户vim编程之--cscope支持
查看>>
python数据类型图解
查看>>
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>
一位数据挖掘成功人士 给 数据挖掘在读研究生 的建议
查看>>
Python3.6.0安装
查看>>