自动完成文本框TextChanged事件访问冲突异常

时间:2018-11-24 14:24:20

标签: c#

我要创建自动填充文本,即当用户键入数字时,用户键入的文本+固定文本显示为自动填充文本。因此,我在autocompleteStringCollection事件中创建了textchanged。但这给了我AccessViolationException

  

System.AccessViolationException HResult = 0x80004003

     

Message =试图在受保护的内存上执行读取或写入操作。其他内存可能已损坏。源=堆栈跟踪:

有什么建议吗?

这是我的代码!!!!

private void textbox_TextChanged(object sender,EventsArgs e)
{
AutocompleteStringCollection a=new AutocompleteStringCollection();
if(textbox.Text.Length!=0)
{
a.AddRange(new String[]{textbox.Text+"greater than",
textbox.Text+"greater than equal"});
}
textbox.AutocompleteCustomSource=a;
}

1 个答案:

答案 0 :(得分:0)

由于没有任何实际要调试的代码,我所能提供的就是要点。

AccessViolationException是操作系统Memory Protection的一部分。 AV异常通常需要有人处理裸露的指针和 bleepping 东西,这非常容易做到。

通常不会在.NET中获得它们。设计师竭尽全力防止您需要处理裸露的指针。仍然有一些可能的原因:

相关问题