C#自动补全问题

qq552611157 2007-11-06 12:18:17
如何在C#(winform)中实现
在Textbox中输入用户编号,然后在下面的3个Textbox中分别实时的显示出用户相关的姓名,年龄,电话(从数据库读取)
这样的信息,意思就是说不用按下键盘的Enter,不用在另外做一个Button,请问怎么实现呢?
谢谢了!~
...全文
353 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxpzgh 2010-01-20
  • 打赏
  • 举报
回复
设置Textbox的回发事件
用AJAX或许也可以吧
_autotest 2010-01-20
  • 打赏
  • 举报
回复
存在内存里同样耗内存。要实现联动效果,耗资源是无法避免的。(个人认为)
实现的方法很多。简单的就textchange吧。
cobra009 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dotgod 的回复:]
在Text文本改变事件中写代码实现,但会频繁地读数据库,效率很低。
//
建议加个Timer 不继续改变文本后2秒开始读取数据库取数据
[/Quote]
正解
龙宜坡 2010-01-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 snowdust 的回复:]
在Text文本改变事件中写代码实现,但会频繁地读数据库,效率很低。
[/Quote]

一次读出来放内存里,TextChange时查内存中的东东。
luoweiqinxuexi 2010-01-20
  • 打赏
  • 举报
回复

AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();
acsc.Add("asdjhkj");
acsc.Add("2412312");
acsc.Add("asdaasdkj");
acsc.Add("78fsdfhj");
acsc.Add("0if0sdfn");
acsc.Add("67dasgdh");
acsc.Add("0dasdjasd");
acsc.Add("23ashdb");
this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
this.textBox1.AutoCompleteCustomSource = acsc;
qq552611157 2007-11-06
  • 打赏
  • 举报
回复
能给出相应的代码吗?
ginpq 2007-11-06
  • 打赏
  • 举报
回复
难道这个编号没有长度的判断吗?
DotGod 2007-11-06
  • 打赏
  • 举报
回复
在Text文本改变事件中写代码实现,但会频繁地读数据库,效率很低。
//
建议加个Timer 不继续改变文本后2秒开始读取数据库取数据
Snowdust 2007-11-06
  • 打赏
  • 举报
回复
在Text文本改变事件中写代码实现,但会频繁地读数据库,效率很低。
ginpq 2007-11-06
  • 打赏
  • 举报
回复
TextAlignChanged
我是菜鸟...
qq552611157 2007-11-06
  • 打赏
  • 举报
回复
我给了一个线程的1秒的休眠,这样实现了,可以吗?
zhangzhiyong168 2007-11-06
  • 打赏
  • 举报
回复
别用Timer ,没有必要,因为那样 太耗资源了
zhangzhiyong168 2007-11-06
  • 打赏
  • 举报
回复
TextBox 有个事件叫Validating 你可以把实时需要做的东东写道这个事件里,在这里写好了你连Enter都不用 按,只要光标离开这个Textbox 就能达到你的要求。Easy。。
qq552611157 2007-11-06
  • 打赏
  • 举报
回复
建议加个Timer 不继续改变文本后2秒开始读取数据库取数据

请问这个Timer该怎么写呢?

我现在已经能查询出来了哈!并且能动态显示到界面上了哈,谢谢各位,请在帮助小弟一下。。。
wzuomin 2007-11-06
  • 打赏
  • 举报
回复
建议设置用户编号的长度,当用户输入固定长度后再读取数据库,显示其他相关信息。
qq552611157 2007-11-06
  • 打赏
  • 举报
回复

string str = "server=(local);integrated security=SSPI;database=HotelDB";
SqlConnection conn = new SqlConnection(str);
conn.Open();
string sql = "SELECT C_BirDate,C_Id,C_Tel From CustomerTable Where C_Name='" + this.textBox1.Text + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "CustomerTable");
DataTable dt = ds.Tables["CustomerTable"];

this.textBox3.Text = //这里就不知道这里怎么写了。。。


this.textBox3.Text = //这里就不知道这里怎么写了。。。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧