none
ARRAY DE CONTROLES EN C# RRS feed

  • Pregunta

  • Necesito crear un array de controles de checkbox, ya tengo hacho el array e inicializado cada elemento del array como un checkbox peroquiero que cuando le de click a un botón me muestre en el form cada elemento del array "checkbox". Si alguien me puede ayudar!!!

    private void btnGenerar_Click(object sender, EventArgs e)
            {

                     CheckBox[]lista = new CheckBox[4];//AQUI SE DECLARA UN ARRAY DE CHECKBOX

                for (int i = 0; i < 4; i++)

                 {
                     lista[i] = new CheckBox();//AQUI SE DECLARA CADA ELEMENTO CONO UN CHECKBOX

                 }
            }

    viernes, 30 de abril de 2010 17:36

Respuestas

  • hola

    en lugar de usar un array porque no usas una lista generica

    algo como esto

    private void btnGenerar_Click(object sender, EventArgs e)
    {

        List<CheckBox> lista = new List<CheckBox>();
        
        int x = 50;
        int y = 50;
        
        for (int i = 0; i < 4; i++)
         {
            CheckBox check = new CheckBox();
            check.Name = string.Format("Name{0}", i);

            check.Location = new Point(x,y);
            y += 50;
            
            this.Controls.Add(check);
            
            lista.Add(check);
         }
    }

    lo qeu veo igual de tu ejemplo es que no lo cargas en la coleccion de controles del formulario, o sea la linea que declaro
    aqui this.Controls.Add(check);

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Editado Leandro TuttiniMVP viernes, 30 de abril de 2010 18:42
    • Marcado como respuesta Pachini viernes, 30 de abril de 2010 18:53
    viernes, 30 de abril de 2010 18:01

Todas las respuestas

  • hola

    en lugar de usar un array porque no usas una lista generica

    algo como esto

    private void btnGenerar_Click(object sender, EventArgs e)
    {

        List<CheckBox> lista = new List<CheckBox>();
        
        int x = 50;
        int y = 50;
        
        for (int i = 0; i < 4; i++)
         {
            CheckBox check = new CheckBox();
            check.Name = string.Format("Name{0}", i);

            check.Location = new Point(x,y);
            y += 50;
            
            this.Controls.Add(check);
            
            lista.Add(check);
         }
    }

    lo qeu veo igual de tu ejemplo es que no lo cargas en la coleccion de controles del formulario, o sea la linea que declaro
    aqui this.Controls.Add(check);

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Editado Leandro TuttiniMVP viernes, 30 de abril de 2010 18:42
    • Marcado como respuesta Pachini viernes, 30 de abril de 2010 18:53
    viernes, 30 de abril de 2010 18:01
  • Muchas gracias por la ayuda pero la verdad no se pq' me da algunos errores, talvez si puede ayudarme....

    La parte del codigo que esta subrayada es la q' da el error, y adjunte una lista de los errores que aparecen, estoy utilizando Visual c# 2008



     private void btnGenerar_Click(object sender, EventArgs e)
            {


        List<CheckBox> List<CheckBox> = new List<CheckBox>();
       
        int x = 50;
        int y = 50;
       
        for (int i = 0; i < 4; i++)
         {
            CheckBox check = new CheckBox();
           
            check.Location = new Point(x,y);
            y += 50;
           
            this.Controls.Add(check);
           
            List.Add(check);
        
          }

            }
        }
    }

    Error    1    Sólo se pueden utilizar las expresiones de objeto assignment, call, increment, decrement y new como instrucción
    Error    2    Sólo se pueden utilizar las expresiones de objeto assignment, call, increment, decrement y new como instrucción   

    Error    3    'System.Windows.Forms.CheckBox' es 'tipo' pero se utiliza como 'variable' 

    Error    4    El término de la expresión '<' no es válido 

    Error    5    Se esperaba ;  

    Error    7    El término de la expresión '=' no es válido  
    viernes, 30 de abril de 2010 18:33
  • hola

    si disculpa puse repetido dos veces la lista

    ya edite el post con la correcion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 30 de abril de 2010 18:37
  • ya encontre el error muchisimaas gracias =) pura vida!!!!

     

    viernes, 30 de abril de 2010 18:53