【问题标题】:Assign item in a group and set a behavior for each group在组中分配项目并为每个组设置行为
【发布时间】:2013-07-22 16:49:15
【问题描述】:

我在一个带有列表视图的项目中,这个列表视图有 2 个组。我很想知道是否可以为每个组创建一种行为。

我有一个名为“在线”的项目和另一个名为“离线”的项目。这些项目前面有一个红色或黑色的圆圈(图像)。这两个项目都在一个名为“live”或“offline”的组中。

我想做两件事:

  • 我应该可以随时更改项目的组。

  • 当一个项目在一个组中时,行为应该改变。 (例如,如果“离线项目”在“直播”组中,则图像将变为红点而不是黑点)

    ImageList.Images.Add(My.Resources.bullet_black)
    ImageList.Images.Add(My.Resources.bullet_red)
    Liste.LargeImageList = ImageList
    
    Dim groupeOffline As New ListViewGroup("Offline")
    Dim groupeLive As New ListViewGroup("Live")
    Liste.Groups.AddRange({groupeLive, groupeOffline})
    
    Liste.Items.Add("Offline", 0).Group = groupeOffline
    Liste.Items.Add("Online", 1).Group = groupeLive
    

在我的 ImageView 中,0 索引是黑点 并且第一个索引是红色的。

【问题讨论】:

    标签: vb.net listview


    【解决方案1】:

    您的代码已包含大部分所需内容。在添加新项目时,您可以依赖一个函数来处理您想要的修改。例如:

    Private Sub updateGroups(curItem As String, targetGroup As String)
    
        Dim curIndex As Integer = 1 'Same index for both group and image
        Dim curGroup = groupeLive
        If (targetGroup.ToLower() = "offline") Then
            curIndex = 0
            curGroup = groupeOffline
        End If
    
        Liste.Items.Add(curItem, curIndex).Group = curGroup
    
    End Sub
    

    你可以这样称呼它: updateGroups("new live item", "Live")updateGroups("new offline item", "Offline")

    请记住,它希望这两个组都在全局范围内声明(您可能更愿意对其进行更改,以便将它们作为参数传递)。

    【讨论】:

    • 嗨 varocarbas,它工作得很好,但我做了一个更好的版本(对于我的项目:p)如果你有兴趣:pastebin.com/awsEEpHt 谢谢。
    • @Riptide 有了更好的版本,你的意思是拿我的并添加一个 try...catch?哈哈。我猜你会认为这是正确的答案。
    • 我的意思是我使用 bool 来设置组,我删除了旧组中的旧项目并添加了“If curItem =”“Then Exit Sub”,因为我遇到了问题 :) 是的谢谢帮助我。
    • @Riptide 我看到了你的代码,我知道你做了什么(开个玩笑-> 大笑)。无论如何,您应该理解的是,这样做(调整或改进回答者提供的代码)是您在任何情况下都应该做的事情(因此它甚至不值得评论)。理想情况下,我不应该编写任何代码,只是提供一些指示来帮助您实际编写代码。我编写代码的原因是因为这是解释这一点的最快和最有效的方式。你应该接受这个事实(一种正确解释事物的方式)。
    猜你喜欢
    • 1970-01-01
    • 2012-01-15
    • 2021-04-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    相关资源
    最近更新 更多