ComboBox coleccion de un archivo

Iniciado por nico56, 2 Enero 2010, 04:01 AM

0 Miembros y 1 Visitante están viendo este tema.

nico56

Hola que tal, queria consultarles como puedo hacer que el combo box despliegue en su lista de opciones las mismas que figuran en las lineas de un archivo de texto, por ejemplo si el archivo de texto tiene esta forma:


opcion1
opcion2
opcion3
...


Y tambien como podria hacer que el combo box no permita el ingreso de otras opciones que no figuren en esa lista?

Desde ya gracias y saludos.

Shell Root

Código (VB) [Seleccionar]
        Dim fs As New FileStream("C:\Archivo.txt", FileMode.Open)
        Dim sr As New StreamReader(fs)

        While Not sr.EndOfStream
            Dim linea As String = sr.ReadLine()
            Me.ComboBox1.Items.Add(linea)
        End While

        sr.Close()


Cita de: nico56 en  2 Enero 2010, 04:01 AMY tambien como podria hacer que el combo box no permita el ingreso de otras opciones que no figuren en esa lista?
No entiendo!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

seba123neo

lo decis por escribir en el combo? le tenes que cambiar el estilo a DropDownList...se me ocurre eso porque tampoco entendi la pregunta. :P
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

nico56

Hola gracias, sera mucho pedirlo en c#  ;D me olvide de aclararlo sory.

Lo otro a que me referia es que no pueda escribir en el combobox algo distinto que figure en la lista por ejemplo si yo escribo "opcion4" en la lista y solo tengo 3 opciones que se borre, o que tire error, tal vez sea mejor usar otro elemento.

P.D. No encuentro en el cuadro de herramientas el drop and down list :S .

seba123neo

Código (csharp) [Seleccionar]
            FileStream fs = new FileStream("C:\\Archivo.txt", FileMode.Open);
            StreamReader sr = new StreamReader(fs);

            while (!sr.EndOfStream)
            {
                string linea = sr.ReadLine();
                this.comboBox1.Items.Add(linea);
            }

            sr.Close();


tenes que importar System.IO

la propiedad del combo se llama DropDownStyle y ponela en la ultima "DropDownList".

saludos.

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Shell Root

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Código (csharp) [Seleccionar]

    FileStream fs = new FileStream("C:\\Archivo.txt", FileMode.Open);
    StreamReader sr = new StreamReader(fs);
   
    while (!sr.EndOfStream) {
        string linea = sr.ReadLine();
        this.ComboBox1.Items.Add(linea);
    }
   
    sr.Close();


Para que no acepte ingresos externos, es así:
Código (csharp) [Seleccionar]
ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList

Saludines!
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

nico56

Muy bien, gracias. Pero suponete que tengo un formulario que se llama form1, con un boton que dice "mostrar form2", el evento click de ese formulario lo crea y lo muestra usando el motodo show. Cuando se abre este formulario (el codigo que me pasaste lo puse adentro de una funcion), donde meto para que se ejecuta la funcion, sin la necesidad de hacerle un boton.

nico56

Perdón ya encontré la forma, muchas gracias a todos.