日期:2014-05-17  浏览次数:21012 次

C# ListView取值异常
我在ListView中单击单元行获取一个值,然后通过这个值去数据库查询
但如果用户没有选中行
异常显示为
InvalidArgument=“0”的值对于“index”无效。
参数名: index



private void 查看备注ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //获取该列在数据库中的编号
            int id = int.Parse(listViewShow.SelectedItems[0].SubItems[4].Text.ToString());
            //用户没有选中单元行
            if (id<1)
            {
                MessageBox.Show("请先选择一行数据!");
                return;    
            }
            …………
        }
listview c#

------解决方案--------------------
兄弟很努力呀,这么晚还在编程,

private void 查看备注ToolStripMenuItem_Click(object sender, EventArgs e)         {             
//如果没有选择,listViewShow.SelectedItems.count应该是0,这个时候不能操作listViewShow.SelectedItems[0]会出错的
//你加个判断试试
if(listViewShow.SelectedItems.count>0)
{

//获取该列在数据库中的编号             int id = int.Parse(listViewShow.SelectedItems[0].SubItems[4].Text.ToString()); 
}
}