在C#中怎样实现像百度中的搜索框中输入第一个字时自动在下面显示相应开头是输入字的所有项?
我想在软件中实现!
我想在软件中实现!
解决方案 »
- 用C#做个提示的功能
- C# DataGridView 列自动排序时单元格背景色丢失
- C#十六进制数转浮点型负数
- C# 自定义控件的系统事件
- 2008命名空间与2010命名空间
- 请问怎么用ZedGraph画饼图````高手告诉我一下 谢谢 我是新手 以前重来没有做过 这个图````希望写详细点 注释
- 并非所有的代码路径都返回值
- C# Winform的AxShockwaveFlash控件如何播放不同的flv文件
- 水晶报表安装以后出错,大家帮忙看看。100孝敬大家了。
- 高分求:自动跟据英文单词...等,来查询国际域名是否被注册的程序代码?
- 输入控件(textbox、combobox)-----提示功能(windows)
- 异步socket中调用poll的问题
见
http://ajaxcontroltoolkit.com/AutoComplete/AutoComplete.aspx
光标出现的时刻 光标离开的时刻 都可以写function 究竟是查词库还是什么db由你了分成细节去看 就好办了
ajax听说了这个开发工具 但不知道在软件中能实现不?不是在WEB中。
网上有这方面的控件不?
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;namespace NewApp
{
class AutoComplete
{
List<TextBox> _CompleteObjectList = new List<TextBox>();
Dictionary<string, AutoCompleteStringCollection> _Source = new Dictionary<string, AutoCompleteStringCollection>();
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=TestDB;Integrated Security=True");
public AutoComplete()
{
conn.Open();
SqlCommand cmd = new SqlCommand("select * from AutoComplete", conn);
SqlDataReader read = cmd.ExecuteReader();
while (read.Read())
{
string key = read["name"].ToString();
if (!_Source.ContainsKey(key))
_Source.Add(key, new AutoCompleteStringCollection());
_Source[key].Add(read["str"].ToString());
}
read.Close();
conn.Close();
} public void AddAll(Control item)
{
for (int i = 0; i < item.Controls.Count; i++)
{
Control var = item.Controls[i];
if (var.GetType().Equals(typeof(TextBox)))
{
Add(var as TextBox);
}
}
} public void Add(TextBox text)
{
_CompleteObjectList.Add(text);
text.Leave += new EventHandler(text_Leave);
text.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
text.AutoCompleteSource = AutoCompleteSource.CustomSource;
if (!_Source.ContainsKey(text.Name))
{
_Source.Add(text.Name, new AutoCompleteStringCollection());
}
text.AutoCompleteCustomSource = _Source[text.Name];
} public void Delete(TextBox text)
{
_CompleteObjectList.Remove(text);
} public void DeleteAll(Control item)
{
for (int i = 0; i < item.Controls.Count; i++)
{
Control var = item.Controls[i];
if (var.GetType().Equals(typeof(TextBox)))
{
Delete(var as TextBox);
}
}
} public void AutoCompleteClear()
{
foreach (AutoCompleteStringCollection var in _Source.Values)
{
var.Clear();
}
SqlCommand cmd = new SqlCommand("Delete AutoComplete", conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
} void text_Leave(object sender, EventArgs e)
{
TextBox text = sender as TextBox;
if (text.Text == "")
return;
string key = text.Name;
if (!_Source.ContainsKey(key))
{
_Source.Add(key, new AutoCompleteStringCollection());
}
if (!_Source[key].Contains(text.Text))
{
SqlCommand cmd = new SqlCommand("insert into AutoComplete select '" + key.Replace("'", "''") + "', '" + text.Text.Replace("'", "''") + "'", conn);
conn.Open();
cmd.ExecuteNonQuery();
_Source[key].Add(text.Text);
conn.Close();
}
}
}
}--------------------------------------------------------
管理自動完成功能的類