C# 中如何做到当选中listview某行删除后,自动选中它的上面的一行,如果删除的是第一行,就选中它的下一行,希望能够得到帮助!
解决方案 »
- 怎么监控.net崩掉及处理方法?
- 使用webbrowser如何获取JavaScript中变量的值?
- 获取服务器硬件信息
- 求助。。。
- public void flexTablesDispatch_ClickEvent()事件中,如何判断鼠标按下的是右键?
- 什么控件既可以选择文件夹,也可以选择文件?
- 关于xmlhttp请求需要数字证书的网站的问题
- 一个类中有静态变量,在程序中能不能使用反射动态取得这个静态变量的值?
- c# 怎么获取鼠标选中的对象 急急急 高分
- 各位大虾,TreeView如何实现展开和关闭子结点?
- MessageBoxEx显示中文
- (请教)VS2008左边除了[工具箱],[服务器资源管理器]选项卡外,[数据源]的选项卡在哪找?
if (ListView1.SelectedIndices.Count==0) return;
//记住之前选择
int last = ListView1.SelectedIndices[0];
//删除选中项
ListView1.Items.RemoveAt(last);
last = Math.Min(last, ListView1.Items.Count - 1);//如果是最后一条,则减少1个
//查看是否在有效范围
if (ListView1.Items.Count > last)//确认last有效
{
ListView1.Items[last].Selected = true;//选中
ListView1.Items[last].Focused = true; //焦点
ListView1.Items[last].EnsureVisible();//滚动显示
}
//删除选中项
ListView1.Items.RemoveAt(index);if(ListView1.Items.Count==index)
{
ListView1.Items[index-1].Selected = true;//选中
ListView1.Items[index-1].Focused = true; //焦点
ListView1.Items[index-1].EnsureVisible();//滚动显示
}
else if(ListView1.Items.Count>index)
{
ListView1.Items[index].Selected = true;//选中
ListView1.Items[index].Focused = true; //焦点
ListView1.Items[index].EnsureVisible();//滚动显示
}