自己做一个伪动态查询。不知对错,望各位朋友解答! 数据库sqlserverc# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 取决于你如何操作,windows消息队列是逐个发送的请求,但如果你用线程去操作数据库,那么又另当别论了 给你个思路,你可以延迟几百毫秒再确认是否要执行,每一次pressup都修正延迟时间 给你写了一个 demo private void textBox1_KeyUp(object sender, KeyEventArgs e){ var str = textBox1.Text; ThreadPool.QueueUserWorkItem(h => { List<string> result = 查询(str); this.listBox1.BeginInvoke((Action)delegate { if (textBox1.Text == str) //还没有改变为别的内容,str还有效 { this.listBox1.Items.Clear(); this.listBox1.Items.AddRange(result.ToArray()); } }); });}private List<string> 查询(string str){ var n = new Random().Next(1000); Thread.Sleep(n); //卡一会儿 return (from x in Enumerable.Range(0, 40) select str + "_" + x) .ToList();}你可以看到,假设每一次(快速)按下键盘之后数据库查询部分的响应速度有快有慢(先发出去的查询可能后返回结果),丢弃掉那些多余数据就是了。 ★★★★★五星问题~~~文件删除后如何恢复?文件没有进入回收站。 C#关于多线程控制控件,求大神指导 如何编程实现将office转为flash格式? 怎么把字符串格式的时间转化成数值型的? webbrowser载入数据问题 多线程加锁的问题? 分页打印的问题 C#用户登录验证问题 线程问题 求助 :用了匿名委托后。。 C#中怎样实现选择文件夹对话框 哪位有微信自定义菜单的生成例子啊 给一个 谢谢 关于C#实现RSA的问题,求教各位前辈!!!!!!!!!!!!
{
var str = textBox1.Text;
ThreadPool.QueueUserWorkItem(h =>
{
List<string> result = 查询(str);
this.listBox1.BeginInvoke((Action)delegate
{
if (textBox1.Text == str) //还没有改变为别的内容,str还有效
{
this.listBox1.Items.Clear();
this.listBox1.Items.AddRange(result.ToArray());
}
});
});
}private List<string> 查询(string str)
{
var n = new Random().Next(1000);
Thread.Sleep(n); //卡一会儿
return (from x in Enumerable.Range(0, 40)
select str + "_" + x)
.ToList();
}
你可以看到,假设每一次(快速)按下键盘之后数据库查询部分的响应速度有快有慢(先发出去的查询可能后返回结果),丢弃掉那些多余数据就是了。