【发布时间】:2017-02-20 07:35:13
【问题描述】:
【问题讨论】:
标签: exception events access-violation textchanged
【问题讨论】:
标签: exception events access-violation textchanged
这可能是安全级别问题。试试这个:转到项目属性页面,然后进入安全部分。
“启用 ClickOnce 安全设置”将被选中。取消选中它
【讨论】:
我也想使用来自同一文本框的用户输入作为过滤器来填充 TextBox AutoCompleteCustomSource,因此我让 TextChanged 事件抓取数据来填充下拉建议列表。
我尝试了很多不同的方法来填充数据,这些都导致了随机或持续的访问冲突。如果我没记错的话,我想我终于确定了。
您使用什么方法将项目实际添加到 AutoCompleteCustomSource 似乎并不重要。当你去替换那些项目时,问题就出现了。
在更改 TheTextbox.AutoCompleteCustomSource 中的任何数据之前,您需要先设置:
TheTextBox.AutoCompleteSource = AutoCompleteSource.None
然后您可以使用任何您喜欢的方法来清除和/或重新填充它:
TheTextBox.AutoCompleteCustomSource.Clear()
TheTextBox.AutoCompleteCustomSource.AddRange(AutoSuggestItems)
完成后将 AutoCompleteSource 设置回 CustomSource:
TheTextBox.AutoCompleteSource = AutoCompleteSource.CustomSource
' prevent that annoying selection of the whole textbox text
TheTextBox.Select(Me.TheTextBox.Text.Length, 0)
*注意:如果您在更改数据时也设置了 TheTextBox.AutoCompleteMode,就像我原来一样,它会导致稍后访问冲突错误。 (到目前为止)上述方法工作正常。我希望这是我对这个解决方案的最后一次更新:)
【讨论】: