none
Vector de Label en windows forms ? RRS feed

  • Pregunta

  • Buenas tardes quisiera crear un vector de label no tengo mucho conocimiento en windows forms lo estoy trabajando por el cuadro de herramientas

    e notado q lo crea asi
    private: System::Windows::Forms::Label^  dibujo1;

    despues lo inicializa

    void InitializeComponent(void)
            {
    this->dibujo1 = (gcnew System::Windows::Forms::Label());
    };


    No se como podria ser //estaba intentado private: System::Windows::Forms::Label^  dibujo1[200];

    agradeceria respuesta

    martes, 19 de enero de 2010 23:53

Respuestas

  • Hola Ender.

    Deberias de haberlo posteado en el foro de c++ ya que trata de ello.

    No se si quieres realizar en c++ o te has equivocado de proyecto, en cualquier caso, como tu codigo es c++, te pongo el codigo de como realizarlo.

    // numero de labels
    int count = 20;
    // crear el array con 20 labels
    array<System::Windows::Forms::Label ^> ^ labels = 
    	gcnew array<System::Windows::Forms::Label ^>(count);
    
    // crear los 20 labels y añadirlos al form
    for (int a = 0; a < count; a++)
    {
    	labels[a] = gcnew System::Windows::Forms::Label();
    	((System::Windows::Forms::Label^)labels[a])->Text = "label" + a.ToString();
    	((System::Windows::Forms::Label^)labels[a])->Left = 20;
    	((System::Windows::Forms::Label^)labels[a])->Top = 25 * a;
    	this->Controls->Add(labels[a]);
    }

    Debes de tener en cuenta varias cosas a la hora de programar con c++ en codigo manejado y una de ellas es que una matriz nativa no puede contener codigo administrado, de modo que no puedes hacer algo como esto:

    System::Windows::Forms::Label b[100];

    Para trabajar con .net es bastante mas sencillo realizarlo con un lenguaje como c#, c++ se suele utilizar sobre .net para crear interfaces al codigo no manejado como acceso a la api de win32, aunque se puede realizar con c# pero esto requiere el uso de interop y definir las llamadas, mientras que c++ ya tiene todas las definiciones en windows.h y otros archivos de cabecera.






    Saludos
    David González
    martes, 9 de febrero de 2010 14:10