Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.

Pregunta acceso a variables de dos metodos distintos

  • lunes, 30 de abril de 2012 4:06
     
     
    Hola a todos, estoy haciendo una aplicacion con visual studio 2003 y lenguaje c/c++, como ya comente en otra pregunta que hice: Tengo imágenes de animales en una carpeta y las visualizo en un formulario al cual le agregue un control Panel con pictureBox donde se cargan las imagenes y al lado un radio button con el nombre del archivo (los nombres son ej: pez.jpg, tiburon.jpg,..etc), estos radios son creados en tiempo de ejecución (se crean dependiendo de la cantidad de imagenes que tenga la carpeta) , al seleccionar un radiobutton en otro panel que se encuentra al lado se cargan otras imagenes con sus respectivos radio button (que corresponde tambien al nombre del archivo) y de acuerdo a los radio button seleccionados en cada uno de los panel, al presionar el boton "cambiar" debe modificar un archivo txt. Y aqui es donde surge un nuevo problema porq en el metodo btnCambiar_Click solo tengo disponible el radio button seleccionado en el ultimo panel, lo que no se es como tener disponible en este método ambos radio button seleccionados. Les paso algo de código que tengo hasta ahora. Si alguien me puede ayudar muy agradecido.


     
    private: System::Void MyEventoRadio_Click(System::Object * sender, System::EventArgs * e)

    {
    try{

    RadioButton *MyBoton=dynamic_cast <RadioButton*>(sender);
    String* dirs[] = Directory::GetFiles(S"c:\\artoolkit\\bin\\jpg\\",String::Concat(MyBoton->Text,S"*.jpg"));
    Collections::IEnumerator* myEnum = dirs->GetEnumerator();
    int cant=dirs->Length;
    if (cant>=1)
    {
    while (myEnum->MoveNext())
    {     
    PictureBox * objPictureBox = new PictureBox;
    .........................

    RadioButton *objradioButton = new System::Windows::Forms::RadioButton();
    objradioButton->Name=Path::GetFileNameWithoutExtension(myEnum->Current->ToString());
    String *nombreArchivo = new String(S"");
    nombreArchivo=Path::GetFileNameWithoutExtension(myEnum->Current->ToString());
    objradioButton->Text=nombreArchivo;
    objradioButton->Validated+=new System::EventHandler(this,btnCambiar_Click);
    panel2->Controls->Add(objradioButton);

    }
    }
    else
    { ......}
    }
    catch (Exception* e) {....}


    }


    private: System::Void AgregarPatron_Load(System::Object *  sender, System::EventArgs *  e)
    {
     try{
            String* dirs[] = Directory::GetFiles(S"c:\\artoolkit\\bin\\patrones\\animalesAcuaticos", S"*.jpg");
            Collections::IEnumerator* myEnum = dirs->GetEnumerator();
    while (myEnum->MoveNext())
    {     
    //Inserta pictureBox
    PictureBox * objPictureBox = new PictureBox;
    objPictureBox->Name=i.ToString();
    ...................
    panel1->Controls->Add (objPictureBox);
    //Inserta radioButton
    RadioButton *objradioButton = new System::Windows::Forms::RadioButton();
    nombreArchivo=Path::GetFileNameWithoutExtension(myEnum->Current->ToString());
    objradioButton->Name=nombreArchivo;
    objradioButton->Click+=new System::EventHandler(this,MyEventoRadio_Click);
    panel1->Controls->Add(objradioButton);
    }
     } catch (Exception* e) {.....}

    }



    private: System::Void btnCambiar_Click(System::Object *  sender, System::EventArgs *  e)
     {
    RadioButton *MyBoton=dynamic_cast <RadioButton*>(sender);
        try {
    .....
    while ( line = objReader->ReadLine())
    {
    objWriter->WriteLine(line->Replace(MyBoton->Name,String::Concat(MyBoton->Name, ".dat")));
    }
    ......
    }
    catch (Exception* e) {....}
     }

Todas las respuestas

  • viernes, 04 de mayo de 2012 3:06
     
     
    por favor alguien me puede ayudar, llevo dias trabado en esto sin encontrar ayuda.Gracias