Autor: elGuille

  • Reutilizar un control en otros controles

    Pues eso… aquí te voy a explicar cómo usar un mismo control en más de un "contenedor" (o colección de controles), y como comprobarás, en principio, es algo muy simple de hacer (una vez que se sabe cómo hacerlo, claro, que si no… ¡ja! ya me dirás tú cómo lo harías si nadie lo explicara, pues eso…)

     

    Sí, es un tema técnico… 😉 pero eso no quiere decir que no lo empiece cómo "debe ser".

     

    A lo que vamos, de lo que se trata es de tener, por ejemplo, un control PictureBox y ese mismo control mostrarlo (o usarlo) en controles diferentes.
    En realidad en contenedores de controles o colecciones de controles, que para el caso es lo mismo, además de que en .NET todos los controles pueden tener otros controles dentro (al menos eso es lo que parece o hace suponer al existir en cada objeto de tipo Control una propiedad llamada Controls que es un objeto del tipo ControlCollection (para saber más pulsa en los enlaces y te llevará a la documentación de .NET Framework 4.0).

    Para lograr eso lo que tenemos que hacer es añadir el control en cuestión a la colección Controls del contenedor al que lo queremos mover.
    Por ejemplo, si tenemos un control del tipo TabControl y cuando pulsamos en la primera y/o la segunda ficha (TabPage), haremos que un control llamado PictureBox1 se añada a esa ficha.
    Con el siguiente código (para Visual Basic) lo conseguiremos:

     

    Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, _
                                                 ByVal e As EventArgs) _
                                                Handles TabControl1.SelectedIndexChanged
    
        Select Case TabControl1.SelectedIndex
            Case 0
                TabPage1.Controls.Add(PictureBox1)
            Case 1
                TabPage2.Controls.Add(PictureBox1)
        End Select
    End Sub

     

    Si prefieres usar C#, utiliza el siguiente código:

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
    {
        switch (tabControl1.SelectedIndex)
        {
            case 0:
                tabPage1.Controls.Add(pictureBox1);
                break;
    
            case 1:
                tabPage2.Controls.Add(pictureBox1);
                break;
        }
    }

     

    Si en lugar de añadirlo directamente a una ficha (tabControl) necesitas que esté en otro contenedor, por ejemplo, dentro de un GroupBox, simplemente sustituye el nombre del control que hay justamente antes de Controls.Add por el control que te convenga. Lo mismo ocurre con el control añadido (el que está entre paréntesis después de .Add), puedes añadir cualquier control.

     

    Si al ver el código de ejemplo te preguntas algo así:

    P: Guille, ¿no crees que sería necesario quitar el control antes de añadirlo a otra colección? ya que de esa forma tendríamos repetido el mismo control en más de una colección.

    La respuesta podría ser como esta:

    R: Buena pregunta, lo que indica que "has leído el código", pero no es necesario.

     

    ¿Por qué no es necesario eliminar un control de una colección antes de añadirla a otra?

    Porque el propio .NET se encarga de eso, es decir, si un control se añade a una colección de controles, automáticamente se quita de la que ya estuviera.

    Esto no es que lo haya "adivinado" yo, es que está en la documentación del método Add, que por cierto yo no lo había leído hasta después de hacer el proyecto de ejemplo, en el que me dio por probar a ver qué pasaba si no eliminaba previamente el control de la colección, y al ver que no ocurría "nada raro" (es decir, todo funcionaba como debería funcionar) me dio por leer la documentación y esa documentación tiene una nota que dice:

     

    Un objeto Control sólo se puede asignar a una colección Control.ControlCollection a la vez. Si el Control ya es secundario de otro control, se quita de ese control antes de agregarlo a otro.

    (el texto anterior está extraído de la ayuda en línea de .NET Framework 4.0 en castellano, concretamente de la definición del método Add de la clase Control.ControlCollection)

     

     

    Espero que te sea de utilidad.

     

    Nos vemos.

    Guillermo

    Publicado con fecha del lunes 16 de mayo a las 22:00, pero en realidad lo acabé de escribir (y publicar) el martes 17 de mayo a las 00:05

    …

  • Comida sana… o no…

    Pues eso, que el otro día comentaba yo en el feisbúc que había comido "sanamente" y mi amiga Eva (LaEvas o la nietísima -yo soy "su" agü-) dijo que definiera lo de "sanamente", ya que la sanidad puede tener dos acepciones muy distintas, sobre todo para los golosos/glotones/mecomotodolobuenoaunquengorde o los que han empezado la operación "bikini" o estén a dieta o los que simplemente nopuedencomertodoloquequierenporquelmédiconoselopermite (esta palabra es más larga que supercalifragilísticoespialidoso).

     

    En mi caso, al menos ese día en concreto, era comida sana de las de régimen (ahora entiendo porque las llaman de "régimen" sobre todo si tienes a algún "general" que te vigile de vez en cuando…), pero no siempre es así, aunque últimamente me estoy comportando, no como "otrosss" que de régimen no quieren saber nada (aunque te den la lata con no tomar sal -o azúcar- ni nada que lo contenga).

    Y pa muestra de lo dicho, un par de fotos, la foto 1 (tomada ayer lunes) es de mi amigo Víctor zampándose un poco de helado de fresa, y la foto 2 (tomada hoy martes) es de mi almuerzo, pero sólo eso… aunque el Víctor después intentó "tentarme" con unos fideos con salsa… pero no, no he sucumbido a la tentación… aunque lo mismo me arrepiento (ya casi estoy arrepentido), pero… en fin…

     

    P1080153_lr
    Foto 1. Víctor comiendo "un poco" de helado de fresa

     

     

    P1080154_lr
    Foto 2. El almuerzo del Guille

     

     

    Nos vemos.
    Guillermo
    P.S.
    Aclarar que Víctor sólo "rebañó" el cubilete, que no es que se lo zampara entero, que Víctor es "grande", pero cinco kilos de helado son muchos kilos, al menos para un postre… jejeje

    …

  • Domingo 8, doblete de piraguas

    Pues eso… que en principio iba a ser el sábado cuando quedaríamos para salir con las piraguas por la mañana, pero el día se presentó lluvioso, así que… hubo que posponerlo, en este caso al domingo, que se esperaba que acudiera más gente, o al menos así lo habían dicho (o supuestamente eso había entendido yo), la cuestión es que a la hora del desayuno con churros en lo del Ayo sólo nos presentamos Manolo el de graná, Manolo "el boss" y yo que llegué con dos bolsas de churros y al final ni con una pudimos acabar. Esa mañana también estaba la gente de Educare, pero no vinieron a desayunar, al menos Ana y su prima que llegaron mientras estábamos en el merendero. La cuestión es que al final, tampoco salió Manolo (el jefe) y solamente nos fuimos el otro Manolo y yo, que en lugar de tirar pa levante nos fuimos pa poniente, ya que habían avisado de que lo mismo cambiaba la marea y se pondría de levante y como a mí eso de volver con las olas dándote por detrás no me gusta nada, y al otro Manolo tampoco le hace mucha gracia, así que nos fuimos dirección el Playazo.

    Y estuvimos un buen rato, según el sports-tracker fueron 4 horas y 19 minutos, la cuestión es que salimos un poco después de las diez de la mañana y llegamos después de las dos de la tarde, y como el día se quedó más estupendo de lo que ya estaba, avisé a Encarni y Víctor para que se animaran para salir con las piraguas… y se animaron. Ahora te cuento, pero primero te pongo el enlace a las fotos de la primera jornada de piraguas con Manolo el de graná, que llegamos hasta la playa del Peñoncillo (después de la peña de la virgen / Calaceite).

     

    El enlace a las fotos de la primera ronda:

    Piraguas – Domingo -01- 08May2011

     

    Y precisamente en la playa que está donde la torre de Calaceite fue donde paramos un ratillo (abajo te pongo un par de fotos) pa reponer un poco de fuerzas y tendernos (en el caso de Manolo) o bañarnos (que es lo que yo hice) y también comer un poco (barritas de cereales, dátiles) y beber, que con la caló, pues… como para no reponer fuerzas.
    Y en el tema del calor, el que peor lo llevaba era Manolo, que se llevó el traje de neopreno y al final lo único que hacía falta era crema de protección solar, pero no se lo quitó porque al estar tan blanco, ni con factor 50 le servía, así que… a refrescarse un poco por encima del traje.

     

    foto cargada al Facebook desde el Nokia N97 mini
    Foto 1. 12.23 – Una foto de Manolo para publicarla en Facebook
    (y ponerle los dientes largos a los que se lo perdieron, jeje)

     

    DSCF7401
    Foto 2. 12.45 – Una foto de los dos que nos tomó un guiri que estaba por allí

     

    Cuando llegamos a Burriana nos dimos otro bañito y después de recoger las cosas y a ir pensando en comer, que a esa hora ya hacía hambre.

    …

     

    Y después de comer (en el bar de Encarni) y como Manolo (el jefe) me había dejado las llaves no había problemas de si había o no alguien allí, (aunque aún estarían los de Educare, ya que cuando llegamos de la primera ruta, según me dijo Anita, su prima Ana aún estaba con un grupo).
    Una vez en Burriana se unió a nosotros Alberto y un amigo suyo. Y como las últimas salidas en piraguas de Alberto han sido nocturnas, alucinó mucho más que nosotros del día tan estupendo que ha hecho.
    Cuando veas las fotos sabrás qué día ha hecho.

     

    El enlace a las fotos de la segunda ronda de piraguas:

    En la segunda ronda piragüera estuvimos (según los datos capturados con sports-tracker) dos horas y veinticuatro minutos (desde las 17.32), aquí abajo tienes el enlace a todas las fotos:

     

    Piraguas – Domingo -02- 08May2011

     

    Aquí tienes un par de fotos más de esta segunda salida piragüista; en la primera (foto 3) está Alberto y su amigo y en la foto 4 tienes "el pasaje del silencio" que dicen esta gente cuando van con las excursiones de piraguas (no sé quién le ha puesto el nombre, pero, así dice Manolo que lo llaman)

     

    DSCF7508
    Foto 3. 18.14 – Alberto y compañía

     

    DSCF7515
    Foto 4. 18.35 – La entrada al pasaje del silencio

    …

     

    Y después de las piraguas, Encarni y yo nos quedamos un ratillo en el chill-out ya que estaba allí Itzi y familia con unos amigos, así que… aproveché para hacerle alguna fotillo al niño y a "la reunión"

    DSCF7597_lr
    Foto 5. En el chill-out con Itzi

     

    Nos vemos.
    Guillermo

    …