请问一个ListView控件选择的问题 有这样一个ListView控件,要做到在选择了一行以后按del键删除这一行,使用KeyUp事件已经成功,但有个问题:当将所有行删除掉以后,再按del键,就会出错,或者不选择某行,在控件空白处点一下鼠标再按del键也一样出错请问应该使用ListView控件的哪个属性来判断是否已经选择了某行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if (this.listView1.SelectedItems.Count > 0) { //表示有选中行 } else { //说明没有选中行 } 不行的,我在KeyUp事件函数中if (this.ListView1.SelectedItems.Count > 0) return;if (e.KeyCode == Keys.Delete){ ListView1.Items.RemoveAt(RPList.SelectedIndices[0]);}在控件空白处点鼠标左键再按del键,一样会报错InvalidArgument=“0”的值对于“index”无效。参数名: index private void ListView1_KeyUp(object sender, KeyEventArgs e){ if (this.ListView1.SelectedItems.Count > 0) return; if (e.KeyCode == Keys.Delete) { ListView1.Items.RemoveAt(ListView1.SelectedIndices[0]); }}现在这个代码,在ListView1控件上点空白处,按del键,就会报错 你这样改下看:if (this.ListView1.SelectedItems.Count > 0)改成if (this.ListView1.SelectedItems.Count == 0)另外还有两个属性:在属性框里将FullRowSelect设为True(这个必须改成这个)另外还有个MultiSelect设为True(表示允许多行选中,不改也成) 又试了一下,FullRowSelect和MultiSelect不改也是可以的... 取整函数是那一个 带参数的程序启动? C# 调用PPT里的 TextRange 显示怎么控制位置? C# 实现 远程桌面 怎样用代码将1个panel强制置于顶层显示? 想问HttpWebRequest类中CookieContainer属性中的Cookie与HttpWebResponse类中的Cookies属性中的Cookie有什么区别 关于COM组件的简单问题 关于winform窗体的几个问题 怎么样使得 窗体显示在 屏幕中自定义位置? C#中如何在类间传值? 在线等,STAThreadAttribute应该如何标注? 关于image字段的问题
{
//表示有选中行
}
else
{
//说明没有选中行
}
return;
if (e.KeyCode == Keys.Delete)
{
ListView1.Items.RemoveAt(RPList.SelectedIndices[0]);
}在控件空白处点鼠标左键再按del键,一样会报错InvalidArgument=“0”的值对于“index”无效。
参数名: index
{
if (this.ListView1.SelectedItems.Count > 0)
return;
if (e.KeyCode == Keys.Delete)
{
ListView1.Items.RemoveAt(ListView1.SelectedIndices[0]);
}
}现在这个代码,在ListView1控件上点空白处,按del键,就会报错
if (this.ListView1.SelectedItems.Count == 0)另外还有两个属性:在属性框里将FullRowSelect设为True(这个必须改成这个)另外还有个MultiSelect设为True(表示允许多行选中,不改也成)