一个调试过程中的异常!高手帮忙呀!!!急!!!!!!!!
第87行是这样的
for (i = 0; i < 22; i++)
{
apply[i] = listView1.SelectedItems[0].SubItems[i].Text;///第87行
}
************** 异常文本 **************
System.ArgumentOutOfRangeException: InvalidArgument=“0”的值对于“index”无效。
参数名: index
在 System.Windows.Forms.ListView.SelectedListViewItemCollection.get_Item(Int32 index)
在 PatentManager.UserControl.answer.listView1_SelectedIndexChanged(Object sender, EventArgs e) 位置 D:\Manager\UserControl\answer.cs:行号 87
在 System.Windows.Forms.ListView.OnSelectedIndexChanged(EventArgs e)
在 System.Windows.Forms.ListView.WmReflectNotify(Message& m)
在 System.Windows.Forms.ListView.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
小弟不知道出了什么问题,应该怎么改,
------解决方案--------------------通过索引去访问如果item数为0的话经常会产生异常的 所以最好是在遍历之前判断一下 当前容器里的对象数然后再去索引. 这样规避了异常速度也能接受的
------解决方案--------------------确保SubItems[i]有0-21的索引!
------解决方案--------------------if(listView1.SelectedItems.Count > 0)//还要确认你有22列
{
for (i = 0; i < 22; i++)
{
apply[i] = listView1.SelectedItems[0].SubItems[i].Text;///第87行
}
}