在C#上未处理的AccessViolationException

时间:2017-08-28 10:05:56

标签: c# sql-server

我在我的表单上添加了一个TextBox,在TextChanged事件中,我编写了以下代码来启用AutoCompleteSource:

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 <<

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

由于

1 个答案:

答案 0 :(得分:0)

这可能是一个安全级别的问题。试试这个: 转到Project Property页面,然后进入Security Section。

将会看到

“启用ClickOnce安全设置”。取消选中

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

修改

很抱歉说我无法测试,但您是否在我之前分享的链接中看到了这部分内容?他们认为这是答案

  

您好,

     

我一直面临同样的问题。我检查并了解到,如果你   将null作为建议中的值,它总是在没有线索的情况下崩溃。   只需从自动完成源中删除所有空字符串即可   就像魔法一样!

     

希望有所帮助,

     

Digvijay