Usuário com melhor resposta
Listview varios itens com cores diferentes baseados em indices

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
Nextsegunda-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
@BrunoMaestroterç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 normalbreak;
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
@BrunoMaestroquinta-feira, 27 de agosto de 2015 03:58