Disculpen una pregunta
tengo 3 datos en un combobox
1
2
3
y necesito que al darle click en un un botón agregar se me abra un listbox con los mismos datos el combobox
1
2
3
y agregarle mas datos
el combobox lo tengo en formulario1 y el listbox lo tengo en un formulario 2
ListBox1.Items.Add(TextBox1.Text)
Form1.ComboBox1.Items.Add(TextBox1.Text)
TextBox1.Text = ""
la parte de agregar mas datos desde listbox al combobox ya lo tengo, pero no he podido. es pasar la información del combobox al listbox.
si alguien me explica esa parte como se la hace le agradecería
Hola.
Lo primero de todo, las preguntas sobre Visual Basic.NET van en el foro de .NET, no en Visua Basic 6.0
Según la descripción que has dado del problema, y ya que estás agregando el valor de "TextBox1.Text" tanto al ComboBox como al ListBox, deduzco que en ambos controles pretendes mostrar lo mismo, entonces solo sería necesario agregar el nuevo valor a una de las dos colecciones de elementos, por ejemplo:
Private Sub AgregarDatos()
ComboBox1.Items.Add(TextBox1.Text)
ListBox1.DataSource = Nothing
ListBox1.DataSource = ComboBox1.Items
End Sub
Con eso tienes suficiente, si quieres perfeccionarlo entonces declara un BindingSource.
Saludos!
hice lo que dices y funciona bien
pero hay un problema que no deja modificar la listbox
el combobox lo tengo en formulario1 y el listbox lo tengo en un formulario 2
Cita de: creiko en 11 Octubre 2016, 21:03 PM
hice lo que dices y funciona bien
pero hay un problema que no deja modificar la listbox
el combobox lo tengo en formulario1 y el listbox lo tengo en un formulario 2
Según el Microsoft si usas
datasource no puedes eliminar ni añadir ítems al Listbox mediante ListBox.ObjectCollection.
ListBox.Items (Propiedad) (https://msdn.microsoft.com/es-es/library/system.windows.forms.listbox.items(v=vs.110).aspx)
CitarYou can also manipulate the items of a ListBox by using the DataSource property.If you use the DataSource property to add items to a ListBox,
you can view the items in the ListBox using the Items property but you cannot add or remove items from the list using the methods of the
ListBox.ObjectCollection.
No te compliques y usa
For Each :laugh:
En el Load del Form2 lo llenas con el contenido del combobox.
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
ListBox1.Items.Clear()
For Each Items As String In Form1.ComboBox1.Items
ListBox1.Items.Add(Items)
Next
End Sub
Cuando cierres el form en el evento closing actualizas el combobox con los cambios que has hecho en el listbox
Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Form1.ComboBox1.Items.Clear()
For Each Items As String In ListBox1.Items
Form1.ComboBox1.Items.Add(Items)
Next
End Sub
EJEMPLO:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ComboBox1.Items.AddRange({"Hoy", "Es", "Miércoles"})
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Form2.ShowDialog()
End Sub
End Class
Public NotInheritable Class Form2 : Inherits Form
Friend Shared WithEvents Button1 As New Button 'Crea un botón con eventos
Friend Shared WithEvents ListBox1 As New ListBox 'Crea un botón con eventos
Sub New()
Button1.Location = New Point(10, 120)
ListBox1.Location = New Point(10, 10)
Me.Controls.AddRange({Button1, ListBox1})
End Sub
Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Form1.ComboBox1.Items.Clear()
For Each Items As String In ListBox1.Items
Form1.ComboBox1.Items.Add(Items)
Next
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
ListBox1.Items.Clear()
For Each Items As String In Form1.ComboBox1.Items
ListBox1.Items.Add(Items)
Next
End Sub
Private Shared Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
ListBox1.Items.Add("y a mi que")
End Sub
End Class
y si quieres puedes usar datasoruce en llugar de For Each en el Closing del Form2 para el combobox.
Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Form1.ComboBox1.DataSource = Nothing
Form1.ComboBox1.DataSource = ListBox1.Items
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
ListBox1.Items.Clear()
For Each Items As String In Form1.ComboBox1.Items
ListBox1.Items.Add(Items)
Next
End Sub
con esta código me salvaste la vida
era justo lo que necesitaba
Gracias amigo