locked
Listview varios itens com cores diferentes baseados em indices RRS feed

  • Pergunta

  • Como alterar as cores de alguns itens do listview de uma só vez sem ficar repetindo a instrução

    (Lv1.Items(2).BackColor = Color.cor) para cada item do listview?

    segunda-feira, 24 de agosto de 2015 01:26

Respostas

  • Desculpe, altere de Function para Sub no dia fiz sem Visual Studio

        lista.ForEach(Sub(item) ListView1.Items(item).BackColor = Color.Red)


    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 27 de agosto de 2015 13:21
    • Marcado como Resposta Marcos SJ quinta-feira, 27 de agosto de 2015 13:23
    quarta-feira, 26 de agosto de 2015 01:57

Todas as Respostas

  • nao entendi muito mais veja se ajuda 

     Dim cor As ListViewItem = New ListViewItem
                cor.Text = "cor"
                cor.SubItems.Add("cor2")
                cor.ForeColor = Color.Red
                Me.ListView1.Items.Add(cor) 

    ou 

     For Each cor As ListViewItem In l1.Items
                cor.ForeColor = Color.White 'cor normal
            Next

    segunda-feira, 24 de agosto de 2015 01:55
  • vc quer mudar a cor de um item selecionado e isso ?
    segunda-feira, 24 de agosto de 2015 01:56
  • Boa noite amigo,

    Não, não quero mudar a cor de um item selecionado. Quero que quando a Listview for carregada alguns itens já apareçam com a cor diferente que são os mais prováveis  a serem selecionados.

    Mas como são muitos itens, eu não queria ficar repetindo o comando várias vezes, pois estes itens irão variar de acordo com escolhas em outra listview. 

    Por exemplo: Eu tenho uma LV com 100 itens e quando essa LV for carregada eu quero que os itens com os índices 5, 10, 20, 30 e 80 já sejam carregados com cores diferentes, mas não selecionados.

    No meu código está assim, quando carrega a LV2:

    Lv2.items(5).backColor = Color.Red

    Lv2.items(10).backColor = Color.Red

    Lv2.items(20).backColor = Color.Red

    Lv2.items(30).backColor = Color.Red

    Lv2.items(80).backColor = Color.Red

    Mas o código fica muito longo. Gostaria de saber se tem com fazer algo dessa forma:

    Lv1.items(5,10,20,30,80).backColor = Color.Red

    ou colocar os índices que desejo colorir dentro de um Array e passar todos de uma vez para a LV.

    Você poderia me ajudar?

    terça-feira, 25 de agosto de 2015 01:06
  • Você pode criar um lista e colocar os índices nela, depois faz um foreach na lista para colorir.

        Dim lista As New List(Of Integer)(New Integer() {5, 10, 20, 30, 80})
        lista.ForEach(Function(item) Lv1.items(item).backColor = Color.Red)


    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    terça-feira, 25 de agosto de 2015 01:47
  • nao entendi muito mais veja se ajuda 

     Dim cor As ListViewItem = New ListViewItem
                cor.Text = "cor"
                cor.SubItems.Add("cor2")
                cor.ForeColor = Color.Red
                Me.ListView1.Items.Add(cor) 

    ou 

     For Each cor As ListViewItem In l1.Items
                cor.ForeColor = Color.White 'cor normal

    break;

            Next



    __________________________________________________________________________________________________________ Atenciosamente, Mike Rodrigues De Lima.

    terça-feira, 25 de agosto de 2015 02:22
  • Boa noite Bruno,

    Obrigado pela ajuda, mas a instrução não funcionou. Não deu erro algum, mas não alterou o backcolor.

    Existe alguma outra opção?

    terça-feira, 25 de agosto de 2015 23:36
  • Desculpe, altere de Function para Sub no dia fiz sem Visual Studio

        lista.ForEach(Sub(item) ListView1.Items(item).BackColor = Color.Red)


    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Sugerido como Resposta Ricardo Barbosa Cortes quinta-feira, 27 de agosto de 2015 13:21
    • Marcado como Resposta Marcos SJ quinta-feira, 27 de agosto de 2015 13:23
    quarta-feira, 26 de agosto de 2015 01:57
  • Agora deu tudo certo.

    Realmente você é o Maestro do VB.NET.

    Muito obrigado. Um grande abraço.

    quarta-feira, 26 de agosto de 2015 02:18
  • Estamos aqui para ajudar, favor marcar qual resposta te ajudou. Abraço.

    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    quinta-feira, 27 de agosto de 2015 03:58