CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Como Usar El Selectedobjectcollection Del Listbox
(1/1)
Thanatos-chan:
Saludos a todos los miembros, anteriormente habia entrado a el foro a leer info, pero me decidi en registrame el la pagina. asi que :hola: a todos.
pues bien ahora estoy en aprendizaje de visual basic.net y mientras hacia un programa se me presento esta situacion.
--- Código: Text ---Public Class Form1 Dim i As Integer Private Sub btn_agregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_agregar.Click lst_A.Items.Add(txt_Numero.Text) txt_Numero.Text = "" txt_Numero.Focus() End Sub Private Sub btn_eleminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_eleminar.Click If lst_A.SelectedIndex <> -1 Then lst_A.Items.Remove(lst_A.SelectedItem) End If End Sub Private Sub btn_insertar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_insertar.Click For i = 0 To lst_A.SelectedIndices.Count - 1 lst_A.Items.Insert(i, txt_Numero.Text) Next End SubEnd Class
en este programa intento insertar y eliminar elementos en la posicion seleccionada
no tengo problemas eleminando pues parece que BV.net rueda el indice una vez eliminado el elemento. el lio esta en cuando quiero insertar un elemento justo debajo del elemento que tengo selecionado en el listbox EJ:
si tengo en el listbox 1,2,3 con los indices 1,2,3 y quiero insertar el 4 entre el 2 y el 3 y que los indices rueden me ha dejado colgado.
para eso he querido usar el selectedObjectCollection, pero tengo la duda si tengo que debo usar los elementos para adicionar o los indices.
cualquier ayuda me caeria super.
P.D deje el codigo incompleto ya que en el boton insertar es que quiero usar el selectedobjectcollection
Thanatos-chan:
Hola a la gente de este foro anteriormente habia publicado el tema de arriba y al parcer daba muchos problemas dado que nadie me pudo decir nada, pero despues de visitar muchas paginas y un poco de ayuda he aqui el programa.
este es un programa que utiliza el objectcollection de visual basic como un arreglo ya que los listbox son uno por defecto ademas en este ejemplo se usar un arreglo para mantener una constancia de los datos y actulizar el listbox.
como soy nuevo no se si era que no me podian decir debidoa que era parte de una asignacion universitaria o que esta parte del foro no se visita mucho, como sea aqui lo dejo como un aporte y cualqier duda yo la contesto. :smartass:
--- Código: Text --- Public Class Form1 Dim t_A = 100 Dim arreglo(0) As String Dim indice As Integer Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load indice = -1 End Sub Private Sub btn_agregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_agregar.Click If indice = t_A - 1 Then MessageBox.Show("Ha llegado al tope de elementos permitidos para agregar") Else indice += 1 ReDim Preserve arreglo(indice) arreglo(indice) = txt_elemento.Text lst_A.Items.Add(arreglo(indice)) txt_elemento.Clear() txt_elemento.Focus() End If End Sub Private Sub btn_eliminar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_eliminar.Click Dim item As String 'Valida que el arreglo tenga items If arreglo.Length = 0 Then MessageBox.Show("No hay elementos disponibles para eliminar") Exit Sub End If If lst_A.SelectedIndex = -1 Then MessageBox.Show("Debe seleccionar un item para eliminar") Exit Sub End If lst_A.Items.Remove(lst_A.SelectedItem) indice = -1 ReDim arreglo(lst_A.Items.Count - 1) For Each item In lst_A.Items indice += 1 arreglo(indice) = item Next End Sub Private Sub btn_insertar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_insertar.Click Dim item As String If indice = t_A - 1 Then MessageBox.Show("Ha llegado al tope de elementos permitidos para agregar") Else lst_A.Items.Insert(lst_A.SelectedIndex, txt_elemento.Text) indice = -1 ReDim arreglo(lst_A.Items.Count - 1) For Each item In lst_A.Items indice += 1 arreglo(indice) = item Next txt_elemento.Clear() txt_elemento.Focus() End If End SubEnd Class
Navegación
Ir a la versión completa