我试图将自动完成框添加到我的winform中。
GetDatabaseContent()
当我将其应用于,combo box
但我想将其添加到时,效果很好textbox
。
我当前代码的问题是将我的内容Datatable
作为一行而不是一个列表显示。
任何帮助都会很棒。
Private Sub frmUser_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim mystring
Dim dt As DataTable = GetDatabaseContent()
mystring = FetchTable(dt)
Dim newstr As New AutoCompleteStringCollection
newstr.Add(mystring)
txtbox.AutoCompleteCustomSource = newstr
End Sub
Function FetchTable(dt As DataTable)
Dim mystring = ""
For Each dr As DataRow In dt.Rows
mystring &= dr.Item(0).ToString
Next
Return mystring
End Function
您只创建了一行文本用作数据源,因此请尝试仅将文本的每一行添加到集合中:
Dim newstr As New AutoCompleteStringCollection
For Each dr As DataRow In dt.Rows
newstr.Add(dr.Item(0).ToString)
Next
TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
TextBox1.AutoCompleteCustomSource = newstr
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句