C#当comboBox自动匹配时 鼠标点击窗体出现 InvalidArgument='0' 不是 'index' 的有效值. 参数名称: index 40

代码:privatevoidcomBoxModelCus_TextUpdate(objectsender,EventArgse){List<string>listNew=... 代码:
private void comBoxModelCus_TextUpdate(object sender, EventArgs e)
{
List<string> listNew = new List<string>();
listNew.Clear();
comBoxModelCus.Items.Clear();
string MODEL = comBoxModelCus.Text.Trim().ToUpper();
foreach (string item in g_initialQuery)
{
if (item.Contains(MODEL))
{
listNew.Add(item);
}
}
comBoxModelCus.SelectionStart = comBoxModelCus.Text.Length;
comBoxModelCus.Items.AddRange(listNew.ToArray());
Cursor = Cursors.Default;
comBoxModelCus.DroppedDown = true;
}
此时故意胡乱输入进行匹配不让其匹配到结果,然后点击窗体空白处就会出现异常!

正常输入匹配的话是可以的,但是不知为何这种情况之下点击空白处就会报此异常,而且也不提示是具体在哪出现此异常,不知哪位打算帮忙提供解决方案、、、(同样自己写了一个测试程式也是一样的结果。
展开
 我来答
植天泽0i5acd
推荐于2017-10-20 · TA获得超过1595个赞
知道小有建树答主
回答量:519
采纳率:52%
帮助的人:185万
展开全部
若匹配结果空则添加一个空白项,这样就能阻止报错,猜想是输入结果后控件默认设置text是第一个,但此时没有项,故index无效
a272300100
2015-08-25
知道答主
回答量:6
采纳率:100%
帮助的人:5716
展开全部
是不是在comBoxModelCus的光标移开事件里加了,类似comBoxModelCus.SelectIndex=0的代码,如果有的话,加个Check条件,判断如果有项目的情况下,再设置SelectIndex。
追问
没有哦,只有textUpdate事件,而且我写了一个小程式测试还是一样的结果,你可以自己测试一下,只给一个button1与comboBox1,button1初始化g_initialQuery集合,给comboBox添加同样的事件,会有一样的异常···
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kcxnvbdbd
2015-08-25 · TA获得超过523个赞
知道小有建树答主
回答量:885
采纳率:50%
帮助的人:605万
展开全部
光看贴出来的代码,看不出来原因。其他地方有改变comBoxModelCus下拉项的代码么
更多追问追答
追问

没有,只有在update事件里有改变,集合g_initialQuery已经初始化好了,可以正常匹配获取Item。如图

但在没有匹配出item时如果鼠标点击窗体的话就会出现异常。

追答
在异常窗体底部,点“异常信息复制到剪贴板”,然后贴出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式