学习记录:VB.NET中连续删除ListView控件中的行

'在VB6中删除ListView中的某一行是个随意的操作,如下:
If LVTranPrice.ListItems.Count = 0 Then Exit Sub
Dim tmpItem As ListItem
Set tmpItem = LVTranPrice.SelectedItem

Dim iRes As Integer
iRes = MsgBox("真的删除此运价?", vbYesNo)
If iRes <> 6 Then Exit Sub
    
LVTranPrice.ListItems.Remove tmpItem.Index
LVTranPrice.SetFocus
'以上代码放在一个按钮下可以随意连续执行

但是在VB.NET中删除某行后却会失去选择项,那么连续删除会引发错误,实在不知道怎么处理,使用了如下笨方法:

	If LVData.Items.Count = 0 Then Exit Sub
	Dim tmpItem As ListViewItem
	tmpItem = LVData.SelectedItems(0)

	Dim iIndex As Integer
	iIndex = tmpItem.Index
	tmpItem.Remove()

	If iIndex < LVData.Items.Count And iIndex <> 0 Then		 '这是在多行时删除中间行
		LVData.Items(iIndex).Selected = True
	ElseIf iIndex < LVData.Items.Count And iIndex = 0 Then	 '这是在多行时删除首行
		LVData.Items(iIndex).Selected = True
	ElseIf iIndex = LVData.Items.Count And iIndex <> 0 Then	 '这是在多行时删除最后一行
		LVData.Items(iIndex - 1).Selected = True
	ElseIf iIndex = LVData.Items.Count And iIndex = 0 Then	 '这是在单行时删除唯一一行
	End If
End Sub

如果看到这篇文章的朋友有简单方法,请给我留言告诉我一下简单方法,谢谢

你可能感兴趣的:(学习记录:VB.NET中连续删除ListView控件中的行)