REMOVER ITEM DA LISTBOX
Galera,
Preciso remover um item da listbox se tal condição for satisfeita.
Preciso remover o nome [Ô]Guilherme[Ô] de dentro dos itens da ListBox. Estou fazendo assim:
[txt-color=#0000f0] For [/txt-color]I = 0 [txt-color=#0000f0]To[/txt-color] ListBox1.Items.Count - 1
[txt-color=#0000f0] If[/txt-color] ListBox1.Items.Item(I) = [txt-color=#e80000][Ô]Guilherme[Ô][/txt-color][txt-color=#0000f0] Then [/txt-color]ListBox1.Items.Remove(ListBox1.Items.Item(I))
[txt-color=#0000f0]Next[/txt-color]
Fui estudando e percebi que meu código dava erro porque não se pode excluir um item enquanto estiver fazendo looping na ListBox.
Será que alguém pode me ajudar, pois com Collection também levei pau.
Obrigado.
Preciso remover um item da listbox se tal condição for satisfeita.
Preciso remover o nome [Ô]Guilherme[Ô] de dentro dos itens da ListBox. Estou fazendo assim:
[txt-color=#0000f0] For [/txt-color]I = 0 [txt-color=#0000f0]To[/txt-color] ListBox1.Items.Count - 1
[txt-color=#0000f0] If[/txt-color] ListBox1.Items.Item(I) = [txt-color=#e80000][Ô]Guilherme[Ô][/txt-color][txt-color=#0000f0] Then [/txt-color]ListBox1.Items.Remove(ListBox1.Items.Item(I))
[txt-color=#0000f0]Next[/txt-color]
Fui estudando e percebi que meu código dava erro porque não se pode excluir um item enquanto estiver fazendo looping na ListBox.
Será que alguém pode me ajudar, pois com Collection também levei pau.
Obrigado.
Tava se perdendo no For, pois você retirava um Ãtem enquanto ele estava executando
Dessa forma funcionou, não sei se tem um método mais prático... Mais funciona...
Dim Index As Integer = -1
For I As Integer = 0 To ListBox1.Items.Count - 1
If Me.ListBox1.Items(I) = [Ô]Guilherme[Ô] Then Index = I
Next
If Index <> -1 Then ListBox1.Items.Remove(ListBox1.Items.Item(Index))
Jonathan Stecker
Dessa forma funcionou, não sei se tem um método mais prático... Mais funciona...
Dim Index As Integer = -1
For I As Integer = 0 To ListBox1.Items.Count - 1
If Me.ListBox1.Items(I) = [Ô]Guilherme[Ô] Then Index = I
Next
If Index <> -1 Then ListBox1.Items.Remove(ListBox1.Items.Item(Index))
Jonathan Stecker
Acho que assim fica mais fácil...
For I As Integer = 0 To ListBox1.Items.Count - 1
ListBox1.Items.Remove([Ô]Guilherme[Ô])
Next
Abraços,
Jonathan Stecker
For I As Integer = 0 To ListBox1.Items.Count - 1
ListBox1.Items.Remove([Ô]Guilherme[Ô])
Next
Abraços,
Jonathan Stecker
Olá [txt-color=#0000f0]JONATHANSTECKER[/txt-color]
Muito me ajudou o seu código. Mas e se eu quiser retirar outros nomes também da Listbox, sabe como se faz isso usando um Array ou uma Collection?
Lembrando sempre que estes nomes têm que ser retirados via código assim que o Form se abre.
Muito me ajudou o seu código. Mas e se eu quiser retirar outros nomes também da Listbox, sabe como se faz isso usando um Array ou uma Collection?
Lembrando sempre que estes nomes têm que ser retirados via código assim que o Form se abre.
PEGUDO,
Se é que eu entendi o que você quer... Segue abaixo...
Dim Nome() As String
Dim N As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AdicionaNome([Ô]Guilherme[Ô])
AdicionaNome([Ô]João[Ô])
AdicionaNome([Ô]Maria[Ô])
End Sub
Sub AdicionaNome(ByVal Nome As String)
ReDim Preserve Nomes(N)
Nomes(N) = Nome
N += 1
End Sub
Sub LimpaLista()
For J As Integer = 0 To N - 1
For I As Integer = 0 To ListBox1.Items.Count - 1
ListBox1.Items.Remove(Nomes(J).ToString)
Next
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
LimpaLista()
End Sub
Jonathan Stecker
Se é que eu entendi o que você quer... Segue abaixo...
Dim Nome() As String
Dim N As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AdicionaNome([Ô]Guilherme[Ô])
AdicionaNome([Ô]João[Ô])
AdicionaNome([Ô]Maria[Ô])
End Sub
Sub AdicionaNome(ByVal Nome As String)
ReDim Preserve Nomes(N)
Nomes(N) = Nome
N += 1
End Sub
Sub LimpaLista()
For J As Integer = 0 To N - 1
For I As Integer = 0 To ListBox1.Items.Count - 1
ListBox1.Items.Remove(Nomes(J).ToString)
Next
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
LimpaLista()
End Sub
Jonathan Stecker
Ok. Perfeito.
Tópico encerrado , respostas não são mais permitidas