網站能夠添加百度搜索框的功能,在軟件中也能夠實現百度搜索框的效果。 編程
這裏介紹用c#編程語言設計百度搜索框,代碼以下: c#
01.using System; 02.using System.Collections.Generic; 03.using System.Text; 04.using System.Windows.Forms; 05.using System.Data.SqlClient; 06. 07.namespace NewApp 08.{ 09. class AutoComplete 10. { 11. List<TextBox> _CompleteObjectList = new List<TextBox>(); 12. Dictionary<string, AutoCompleteStringCollection> _Source = new Dictionary<string, AutoCompleteStringCollection>(); 13. SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=TestDB;Integrated Security=True"); 14. public AutoComplete() 15. { 16. conn.Open(); 17. SqlCommand cmd = new SqlCommand("select * from AutoComplete", conn); 18. SqlDataReader read = cmd.ExecuteReader(); 19. while (read.Read()) 20. { 21. string key = read["name"].ToString(); 22. if (!_Source.ContainsKey(key)) 23. _Source.Add(key, new AutoCompleteStringCollection()); 24. _Source[key].Add(read["str"].ToString()); 25. } 26. read.Close(); 27. conn.Close(); 28. } 29. 30. public void AddAll(Control item) 31. { 32. for (int i = 0; i < item.Controls.Count; i++) 33. { 34. Control var = item.Controls[i]; 35. if (var.GetType().Equals(typeof(TextBox))) 36. { 37. Add(var as TextBox); 38. } 39. } 40. } 41. 42. public void Add(TextBox text) 43. { 44. _CompleteObjectList.Add(text); 45. text.Leave += new EventHandler(text_Leave); 46. text.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 47. text.AutoCompleteSource = AutoCompleteSource.CustomSource; 48. if (!_Source.ContainsKey(text.Name)) 49. { 50. _Source.Add(text.Name, new AutoCompleteStringCollection()); 51. } 52. text.AutoCompleteCustomSource = _Source[text.Name]; 53. } 54. 55. public void Delete(TextBox text) 56. { 57. _CompleteObjectList.Remove(text); 58. } 59. 60. public void DeleteAll(Control item) 61. { 62. for (int i = 0; i < item.Controls.Count; i++) 63. { 64. Control var = item.Controls[i]; 65. if (var.GetType().Equals(typeof(TextBox))) 66. { 67. Delete(var as TextBox); 68. } 69. } 70. } 71. 72. public void AutoCompleteClear() 73. { 74. foreach (AutoCompleteStringCollection var in _Source.Values) 75. { var.Clear(); } 76. SqlCommand cmd = new SqlCommand("Delete AutoComplete", conn); 77. conn.Open(); 78. cmd.ExecuteNonQuery(); 79. conn.Close(); 80. } 81. 82. void text_Leave(object sender, EventArgs e) 83. { 84. TextBox text = sender as TextBox; 85. if (text.Text == "") 86. return; 87. string key = text.Name; 88. if (!_Source.ContainsKey(key)) 89. { 90. _Source.Add(key, new AutoCompleteStringCollection()); 91. } 92. if (!_Source[key].Contains(text.Text)) 93. { 94. SqlCommand cmd = new SqlCommand("insert into AutoComplete select '" + key.Replace("'", "''") + "', '" + text.Text.Replace("'", "''") + "'", conn); 95. conn.Open(); 96. cmd.ExecuteNonQuery(); 97. _Source[key].Add(text.Text); 98. conn.Close(); 99. } 100. } 101. } |
end 編程語言