2017-08-28 97 views
2

我已经加入我的窗体上的文本框,并在TextChanged事件我写了下面的代码,以便AutoCompleteSource:AccessViolationException未处理

private void txtNameCostBL_TextChanged(object sender, EventArgs e) 
    { 
     txtNameCostBL.AutoCompleteMode = AutoCompleteMode.Suggest; 
     txtNameCostBL.AutoCompleteSource = AutoCompleteSource.CustomSource; 
     AutoCompleteStringCollection col = new    
     AutoCompleteStringCollection(); 

     for (int i = 0; i < dtCustomerForSalesBl.Rows.Count; i++) 
     { 
      col.Add(dtCustomerForSalesBl.Rows[i][1].ToString()); 
     } 
     txtNameCostBL.AutoCompleteCustomSource = col; 
    } 

它工作正常,但有时当我书面方式的东西它会引发图像上显示的AccessViolation。

>> Error Screenshot <<

我希望你能给我一个解决方案。

感谢

+0

亲爱@Thread你能你的问题翻译成英文吗?这个平台是完全英文的,大多数程序员用英文编程。 (因为你的代码也是英文的) –

+0

投票结束不清楚你问的问题:请澄清你的具体问题或添加额外的细节,以确切地突出你需要什么。正如现在写的那样,*很难确切地告诉你要问什么*。 – Reniuz

+0

你可能只能从UI线程更新UI(就我的应用程序知识而言)? –

回答

0

这是一个安全等级问题可能是。试试这个: 转到项目属性页面,然后进入安全部分。

“启用ClickOnce安全设置”将被视为检查。取消它

参考:https://social.msdn.microsoft.com/Forums/windows/en-US/e599b2e2-3cda-43ad-b15f-a69b4fea1a75/dynamic-filling-of-textbox-autocomplete-not-working?forum=winforms

编辑

遗憾地说,我无法测试,但是,你有没有看到这部分在我之前分享的链接?他们认为这是答案

嗨,

我一直面临着同样的问题。我检查并了解到,如果您的建议中的值为零,则它总是崩溃而不知情。 刚刚摆脱从你自动完成所有的源空字符串,并将其 功效神奇!

希望帮助,

Digvijay

+0

我去保卫科,我找到“启用ClickOnce安全设置”已选中 – Thread

+0

编辑答案 –

+0

对不起,我去给你共享的链接,但我没有看到的那部分,确定我readed的答案,我检查我的自动完成源,但它没有任何空字符串。谢谢回答:) – Thread