如何删除ListView中的行。我需要选择要删除的行,如果要删除该行,命令按钮将使用警告消息将其删除。代码是什么?
答案 0 :(得分:6)
假设您已经为按钮创建了ListView(ListView1)和Click事件(让我们称之为button1),通过双击它,可能会是这样的:
所以代码会是这样的:
private sub Button1_Click()
if ListView1.SelectedItem is nothing then exit sub
if MsgBox("Do you really want to delete?", "Question", vbYesNo) = vbYes then
ListView1.ListItems.Remove ListView1.SelectedItem.Index
end if
end sub
答案 1 :(得分:0)
您已经使用了哪些控件以及您已经编写了哪些代码才能实现此目的? (您可以通过编辑将此信息添加到您的问题中)。
无论如何,我假设您至少有一个ListView控件(例如ListView1)和一个Button控件(例如DeleteRow),并且您知道该按钮的click事件,DeleteRow_Click(如果没有,请双击表单中的按钮)设计师,你会明白我的意思。)
现在,您需要在DeleteRow_Click事件中添加一些代码。一些提示:
ListView中当前选定的行(项)是ListView1.SelectedItem。 SelectedItem是一个具有一些有用属性的对象:您可以在编辑器中使用VB的对象资源管理器和/或智能感知来探索这些属性。另外,考虑在ListView中选择NO项时会发生什么:您还可以通过在将SelectedItem分配给变量的行上放置断点来检查这一点,然后在运行应用程序并单击按钮后使用调试器进行检查如果没有先在列表框中选择一个项目(在实际应用程序中,通常会禁用该按钮,直到选择了一个项目为止,但让我们不要超越自己......)
ListView1还有一个代表其中所有项目的集合:它被称为ListItems,并且有几个有用的属性和方法(例如.Remove ...),随时可供您使用F2或Intellisense进行探索
要问用户他/她是否真的确定整个移除事物,请查看MessageBox函数:这个函数有点棘手,因为它直接映射到底层的Windows API调用,但是一般的想法是你传入一些标志值(通过将它们加在一起)来指示你想要什么样的消息框(图标和按钮方式)。然后检查返回值以查看用户选择的按钮。