如何使用按钮从VB6 ListView中删除行(项)?

如何使用按钮从VB6 ListView中删除行(项)?,listview,vb6,Listview,Vb6,如何删除ListView中的行。我需要选择要删除的行,如果要删除该行,命令按钮将删除该行,并显示一条警告消息。代码是什么?您已经使用了哪些控件,以及您已经编写了哪些代码来实现这一点?(您可以通过编辑将此信息添加到问题中) 无论如何,我假设您至少有一个ListView控件(例如ListView1)和一个Button控件(例如DeleteRow),并且您知道该按钮的单击事件DeleteRow\u click(如果不知道,请双击表单设计器中的按钮,您就会明白我的意思) 现在,您需要在DeleteRow

如何删除ListView中的行。我需要选择要删除的行,如果要删除该行,命令按钮将删除该行,并显示一条警告消息。代码是什么?

您已经使用了哪些控件,以及您已经编写了哪些代码来实现这一点?(您可以通过编辑将此信息添加到问题中)

无论如何,我假设您至少有一个ListView控件(例如ListView1)和一个Button控件(例如DeleteRow),并且您知道该按钮的单击事件DeleteRow\u click(如果不知道,请双击表单设计器中的按钮,您就会明白我的意思)

现在,您需要在DeleteRow\u Click事件中添加一些代码。一些提示:

  • ListView中当前选定的行(项)为ListView1.SelectedItem。SelectedItem是一个具有一些有用属性的对象:您可以使用VB的对象资源管理器和/或编辑器中的Intellisense来探索这些属性。此外,考虑在ListVIEW中没有选择项时会发生什么情况:也可以通过在一个将SelectedItem分配给变量的行上设置断点来检查这一点,然后在运行应用程序后使用调试器检查它,然后单击按钮,而不首先在列表框中选择项。(在实际的应用程序中,通常会禁用该按钮,直到选择了一个项目,但我们不要在这里超越我们自己…)

  • ListView1还有一个表示其中所有项的集合:它被称为ListItems,并且有几个有用的属性和方法(例如.Remove…),可供您使用F2或Intellisense进行探索

  • 要询问用户是否真的确定整个删除过程,请查看MessageBox函数:此函数有点棘手,因为它非常直接地映射到底层的Windows API调用,但一般的想法是,您传入一些标志值(通过将它们加在一起)以指示您想要什么类型的消息框(图标和按钮)。然后检查返回值以查看用户选择的按钮


假设您已经创建了ListView(ListView1)和按钮的单击事件(我们称之为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
所以代码应该是这样的:

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

如果我的答案对你有用,请通过投票表示。此外,如果你的问题已经通过答案解决,并且你不期望或不需要任何其他答案,请也接受答案。你还需要对之前提出的另外两个问题这样做:这是礼貌的做法,并将增加未来探索的机会ions将收到有用的答案…MDB是对的,这是在StackOverflow上做的礼貌之举。它的工作原理与大多数其他论坛略有不同。