| ID | Asunto | Fecha | Nick | |
| 55442 | Problemilla con ListBox | 22/06/11 10:23 | lucas.bass | |  |
Hello!! Pongo mi situacion: Tengo dos listbox, con la propiedad SelectionMode=MultiSimple. Pues lo que quiero simplemente, que de los seleccionados en uno, se muevan al otro, y viceversa. Alguna ayuda, please, que me quedado atascado. Esto es lo que tengo y me da problemas: For i = 0 To listNombres1.SelectedItems.Count - 1
'Copiarlos
listNombres2.Items.Add(listNombres1.SelectedItems(i))
listID2.Items.Add(listID1.SelectedItems(i))
Next
For i = 0 To listNombres1.SelectedItems.Count - 1
'Eliminar a su vez del otro list:
listNombres1.Items.RemoveAt(i)
listID1.Items.RemoveAt(i)
Next |
|
| ID | Asunto | Fecha | Nick | |
| 55443 | Re: Problemilla con ListBox (Resp: 55442) | 22/06/11 18:39 | platoon1sc | |  |
Muy buenas, creo entender que pretendes algo así:  http://imageshack.us/photo/my-images/98/frmlistbox.jpg/'/> Button1 pasa los seleccionados de listBox1 a listbBox2 Button2 pasa todos los elementos de listBox1 a listBox2 button3 pasa los seleccionados de listBox2 a listBox1 button4 pasa todos los elementos de listBox2 a listBox1 Aquí te dejo el código de los eventos Click de cada botón, el código está comentado y creo que se entiende bastante bien, si tienes alguna duda, no dudes en preguntar. NOTA: Lo único que tienes que tener en cuenta, es que , al borrar elementos de un listBox se actualiza su lista de items, por eso recorro los items de los listBox al revés. Public Class frmPruebaListBox
' ''' ''' Método que maneja el evento click de Button1. ''' Pasa los items seleccionados desde listBox1 a listBox2 ''' ''' ''' ''' Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button1.Click
Dim i As Integer
'Recorremos la colección de seleccionados de listBox1 For i = ListBox1.SelectedItems.Count - 1 To 0 Step -1 'Para cada item seleccionado en listBox1 lo añadioms al listBox2 ListBox2.Items.Add(ListBox1.SelectedItems(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox1.Items.Remove(ListBox1.SelectedItems(i)) Next
End Sub ' ''' ''' Método que maneja el evento Click del control Button2. ''' Pasa todos los items desde listBox1 a listBox2 ''' ''' ''' ''' Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button2.Click
Dim i As Integer
'Recorremos la colección de items de listBox1 For i = ListBox1.Items.Count - 1 To 0 Step -1
'Para cada item de la colección de listBox1 lo pasamos a listBox2 ListBox2.Items.Add(ListBox1.Items(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox1.Items.Remove(ListBox1.Items(i)) Next
End Sub ' ''' ''' Método que maneja el evento Click del componete Button3. ''' Pasa los items seleccionados desde listBox2 a listBox1 ''' ''' ''' ''' Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button3.Click
Dim i As Integer
'Recorremos la colección de seleccionados de listBox1 For i = ListBox2.SelectedItems.Count - 1 To 0 Step -1
'Para cada item seleccionado en listBox1 lo añadioms al listBox2 ListBox1.Items.Add(ListBox2.SelectedItems(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox2.Items.Remove(ListBox2.SelectedItems(i)) Next
End Sub ' ''' ''' Método q
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 55444 | Re: Problemilla con ListBox (Resp: 55442) | 22/06/11 18:41 | platoon1sc | |  |
Muy buenas, creo entender que pretendes algo así:  http://imageshack.us/photo/my-images/98/frmlistbox.jpg/' /> Button1 pasa los seleccionados de listBox1 a listbBox2 Button2 pasa todos los elementos de listBox1 a listBox2 button3 pasa los seleccionados de listBox2 a listBox1 button4 pasa todos los elementos de listBox2 a listBox1 Aquí te dejo el código de los eventos Click de cada botón, el código está comentado y creo que se entiende bastante bien, si tienes alguna duda, no dudes en preguntar. NOTA: Lo único que tienes que tener en cuenta, es que , al borrar elementos de un listBox se actualiza su lista de items, por eso recorro los items de los listBox al revés. Public Class frmPruebaListBox
' ''' ''' Método que maneja el evento click de Button1. ''' Pasa los items seleccionados desde listBox1 a listBox2 ''' ''' ''' ''' Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button1.Click
Dim i As Integer
'Recorremos la colección de seleccionados de listBox1 For i = ListBox1.SelectedItems.Count - 1 To 0 Step -1 'Para cada item seleccionado en listBox1 lo añadioms al listBox2 ListBox2.Items.Add(ListBox1.SelectedItems(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox1.Items.Remove(ListBox1.SelectedItems(i)) Next
End Sub ' ''' ''' Método que maneja el evento Click del control Button2. ''' Pasa todos los items desde listBox1 a listBox2 ''' ''' ''' ''' Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button2.Click
Dim i As Integer
'Recorremos la colección de items de listBox1 For i = ListBox1.Items.Count - 1 To 0 Step -1
'Para cada item de la colección de listBox1 lo pasamos a listBox2 ListBox2.Items.Add(ListBox1.Items(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox1.Items.Remove(ListBox1.Items(i)) Next
End Sub ' ''' ''' Método que maneja el evento Click del componete Button3. ''' Pasa los items seleccionados desde listBox2 a listBox1 ''' ''' ''' ''' Private Sub Button3_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) _ Handles Button3.Click
Dim i As Integer
'Recorremos la colección de seleccionados de listBox1 For i = ListBox2.SelectedItems.Count - 1 To 0 Step -1
'Para cada item seleccionado en listBox1 lo añadioms al listBox2 ListBox1.Items.Add(ListBox2.SelectedItems(i)) 'Igualmente para cada item seleccionado en listBox1 lo borramos ListBox2.Items.Remove(ListBox2.SelectedItems(i)) Next
End Sub ' ''' ''' Método
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 55452 | Re: Problemilla con ListBox (Resp: 55442) | 23/06/11 09:48 | lucas.bass | |  |
Muchas gracias!!! Por mas que intentaba no era capaz de conseguirlo!! Y mira que era recorrerlo al reves para que no diese fallo. Lo unico que lo he probado, y cuando los pasas de uno a otro, siguen elementos seleccionados (no los que queria pasar,otros), pero vamos que lo he solucionado rapido: For i = 0 To listNombres1.Items.Count - 1
listNombres1.SetSelected(i, False)
NextGracias y un saludo!!
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |