我试图将自动完成添加到VB.NET窗体表单文本框中。 我有一个大小为268,102的文本框放在表格上。我尝试了几种方法来使自动完成工作: 通过“属性”窗格将字符串添加到AutoCompleteCustomSource 将一个字符串列表添加到源代码并在代码中分配 - 多种不同的方式 这些都不会使任何自动完成发生......
最近的代码尝试几乎就是MSDN上显示的示例:
Dim I2cMonths As New AutoCompleteStringCollection()
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'...
I2cMonths.AddRange(New String() {"January", "Febuary", "March"})
With I2C_TextBox
.AutoCompleteCustomSource = I2cMonths
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
End With
'...
End Sub
我做错了什么?
答案 0 :(得分:1)
尝试更改订单......
I2C_TextBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend
12C_Textbox.AutoCompleteSource = AutoCompleteSource.CustomSource
I2cMonths.AddRange(New String() {"January", "Febuary", "March"})
12C_TextBox.AutoCompleteCustomSource = 12cMonths
答案 1 :(得分:1)
鉴于你对案例的描述,我怀疑你的TextBox是MULTILINE。 标准自动完成功能在多行文本框中不起作用。
如果您想要在多行文本框中自动完成,您必须使用TextBox的相应事件自己实现它并处理动态列表(视图) - "弹出&# 34;或其他一些等同物。
答案 2 :(得分:0)
试试这个代码段
I2cMonths.AddRange(New String() {"January", "Febuary", "March"})
With I2C_TextBox
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
.AutoCompleteCustomSource = I2cMonths
End With