none
Como liberar un usercontrol ¿?¿? RRS feed

  • Pregunta

  • Buenas tardes.

    si creo un usercontrol de la siguiente forma....

               UCconfiguracionGeneral uc = new UCconfiguracionGeneral();

        TabPage tab = new TabPage();
                tab.Text = titulo;
                tab.Controls.Add(uc);
                tabMain.TabPages.Add(tab);
                tabMain.SelectedTab = tab;

    ... y como veis lo agrego a un tabpage.... luego quiero quitar esta pestaña y liberar la memoria....

                int indice = tabMain.SelectedIndex;
                if (indice > 0) //no queremos cerrar nunca la inicial.
                {
                    tabMain.TabPages.Remove(tabMain.SelectedTab);
                    tabMain.SelectedIndex = indice - 1;
                    GC.Collect();
                }

    ... entonces para cerrar la pestaña y liberar la memoria hago lo anterior, no se si esta bien y realmente estoy liberando la memoria de todo.... soy nuevo en c# y .net.

    muchas gracias por vuestra ayuda

    martes, 21 de mayo de 2013 17:13

Respuestas

  • hola

    pero si remueves el tabpage tambien se pierden los controles que este contiene porque libreras el tab y todo lo que este contenga

    si la idea es solo quitar el control podrias hacer

    tabMain.TabPages.Controls.Clear();

    o sea remueves todos lo que este tenga el tab liberando los controles que contenga

    slaudos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Matos83 miércoles, 22 de mayo de 2013 15:38
    martes, 21 de mayo de 2013 17:29

Todas las respuestas

  • hola

    pero si remueves el tabpage tambien se pierden los controles que este contiene porque libreras el tab y todo lo que este contenga

    si la idea es solo quitar el control podrias hacer

    tabMain.TabPages.Controls.Clear();

    o sea remueves todos lo que este tenga el tab liberando los controles que contenga

    slaudos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Matos83 miércoles, 22 de mayo de 2013 15:38
    martes, 21 de mayo de 2013 17:29
  • la idea es quitar el tab completo, la duda era si se liberaba todo lo que contuviese el tab, incluido el usercontrol..... si es así, entiendo que el código que puse esta bien ¿no?

    muchas gracias leandro

    miércoles, 22 de mayo de 2013 7:10
  • i es así, entiendo que el código que puse esta bien ¿no?

    si remueves el tab se liberan los controles que este tenga asociado

    estaria correcto el codigo que usas


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 22 de mayo de 2013 15:24