none
Agregar Items a Listbox

    Pergunta

  • Buenas Tardes, tengo una duda y no he podido solucionarla. Tengo un listbox en la Form1 y la Form6 es para crear un archivo. Mi duda es como hacer para crear un item con nombre en la Form1?
    Mi codigo es asi:

                Form1.ListBox2.Items.Add(0, NewArchive.Name & NewArchive.Format)
    Gracias
    sábado, 14 de novembro de 2009 21:30

Respostas

  • Hola, Pablo:

    Si desde el Form6 quieres añadir elementos al control ListBox2 existente en Form1, en éste último formulario tienes que establecer una propiedad pública de sólo escritura:

        Public WriteOnly Property AddItems() As String()
            Set(ByVal value As String())

                If value Is Nothing Then Return

                ' Limpiamos el control ListBox
                '
                ListBox2.Items.Clear()

                ' añadimos los elementos especificados.
                '
                For Each file As String In value
                    ListBox2.Items.Add(file)
                Next

            End Set
        End Property

    Ahora, cuando desde el Form6 desees rellenar el control ListBox de Form1, ejecutarías lo siguiente:

            ' Obtenemos los archivos existentes en el
            ' directorio de Windows.
            '
            Dim files() As String = IO.Directory.GetFiles("C:\Windows")

            ' Referenciamos el formulario Form1
            '
            Dim frm As Form1 = My.Forms.Form1

            frm.AddItems = files

    Se comprende que Form1 se encuentra actualmente abierto, porque de lo contrario vas a rellenar el control ListBox
    con lo que yo sé. :-)

    Por supuesto, ésto último tendrás que ADAPTARLO A TUS NECESIDADES, pero la idea de actuar ya la tienes.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    domingo, 15 de novembro de 2009 11:05
    Moderador

Todas as Respostas

  • hola

    cual es la idea comunicar el Form1 y el Form6 ?

    no te aconsejo que desde un form accedas a los controles en el otro, haces que tu aplicacion aumente el nivel de acoplamiento entre estos formularios lo cual no es buen paractica

    usa propiedades o metodos para comunciarlos, y pasale el nombre del archivo que has creado, para que el propio Form1 lo agregue en la lista

    Comunicar formularios de forma desacoplada

    Nota, al explicacion de la pagina esta en c#, pero debajo el ejemplo tambien esta en vb.net

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 14 de novembro de 2009 22:16
  • Quiero saber como hacer para crear un nuevo Item en el listbox con nombre.
    Tu pagina esta en C#

    sábado, 14 de novembro de 2009 22:30
  • Lo que quieres es crear un archivo en el form 6 y que se cargue en el listbox de el form 1?


    ß_Vito_ß
    sábado, 14 de novembro de 2009 22:34
  • Si y no logro encontrar aquello

    domingo, 15 de novembro de 2009 00:14
  • Hola, Pablo:

    Si desde el Form6 quieres añadir elementos al control ListBox2 existente en Form1, en éste último formulario tienes que establecer una propiedad pública de sólo escritura:

        Public WriteOnly Property AddItems() As String()
            Set(ByVal value As String())

                If value Is Nothing Then Return

                ' Limpiamos el control ListBox
                '
                ListBox2.Items.Clear()

                ' añadimos los elementos especificados.
                '
                For Each file As String In value
                    ListBox2.Items.Add(file)
                Next

            End Set
        End Property

    Ahora, cuando desde el Form6 desees rellenar el control ListBox de Form1, ejecutarías lo siguiente:

            ' Obtenemos los archivos existentes en el
            ' directorio de Windows.
            '
            Dim files() As String = IO.Directory.GetFiles("C:\Windows")

            ' Referenciamos el formulario Form1
            '
            Dim frm As Form1 = My.Forms.Form1

            frm.AddItems = files

    Se comprende que Form1 se encuentra actualmente abierto, porque de lo contrario vas a rellenar el control ListBox
    con lo que yo sé. :-)

    Por supuesto, ésto último tendrás que ADAPTARLO A TUS NECESIDADES, pero la idea de actuar ya la tienes.

    Un saludo


    Enrique Martínez [MS MVP - VB]
    domingo, 15 de novembro de 2009 11:05
    Moderador